<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ####[上一章](/wikis/%5B1.1%5D-%E4%B8%8B%E8%BD%BD%E4%B8%8E%E5%AE%89%E8%A3%85.html) [文檔首頁](/wikis/) [下一章](/wikis/%5B1.3%5D-%E5%9C%A8%E7%BA%BF%E4%BD%93%E9%AA%8C.html) *** _有夢想的人學習能力特別強,而且不拒絕任何新東西。 -- 《理想豐滿》_ ##1.2.1 可視化安裝 將代碼上傳到服務器并解壓后,訪問: ./Public/install/ 下的安裝向導,如在瀏覽器打開: ``` http://dev.phalapi.com/install/ ``` 然后按照提示,一步步操作即可: ###(0)第零步:同意安裝 ![a pic](http://7xiz2f.com1.z0.glb.clouddn.com/QQ20151024155002.jpg) ###(1)第一步:環境檢查 ![a pic](http://7xiz2f.com1.z0.glb.clouddn.com/QQ20151024155015.jpg) ###(2)第二步:系統配置 ![a pic](http://7xiz2f.com1.z0.glb.clouddn.com/QQ20151024155030.jpg) ###(3)第三步:接口請求 ![a pic](http://7xiz2f.com1.z0.glb.clouddn.com/QQ20151024155041.jpg) ###(4)運行效果 ![a pic](http://7qnay5.com1.z0.glb.clouddn.com/step7_20151012223516.png) ##1.2.2 手動創建 在Windows系統下,可以手動創建一個新的項目。 假設目錄為: F:\xampp\htdocs\PhalApi 以下是簡單的創建操作: ###(1)新建項目目錄 在./PhalApi目錄下新建一個自己的項目目錄,通常以項目名稱命名,如項目MyApp對應: ![QQ截圖20150404004219](http://webtools.qiniudn.com/20150411005257_929b7fdc7e966f54608b25c2e17def29) 然后,再分別在里面添加接口目錄Api、領域目錄Domain、數據源目錄Model和通用目錄Common,即: ![QQ截圖20150404004458](http://webtools.qiniudn.com/20150411005257_9008ecb3491a703442f3522a86ffd624) ###(2)準備一個接口 全部的接口類文件需要放置到./Api 目錄下,你可以嘗試編寫一個簡單的Default.Index接口,也可以直接將./Demo/Api/Default.php文件復制過來。 ###(3)創建訪問入口 將./Public/demo目錄復制一份為對應項目名稱小寫的目錄,如這里的myapp: ![QQ截圖20150404004653](http://webtools.qiniudn.com/20150411005257_e78908f60d6b34c7f932ba15eff1c1a2) 注意!這里需要修改./Public/myapp/index.php和./Public/myapp/checkApiParams.php中的目錄: ![QQ截圖20150404004731](http://webtools.qiniudn.com/20150411005257_92bff2ed15c72380c54dff46ed800544) ###(4)瀏覽器訪問 在瀏覽器輸入以下鏈接: ``` http://localhost/phalapi/public/myapp/ ``` 應該可以看到: ![QQ截圖20150404004959](http://webtools.qiniudn.com/20150411005257_33f51b3efcd0938bb7fc36bb813f4808) ##1.2.3 自動生成 在Linux系統下,我們可以使用腳本快速生成一個項目結構,此過程只需要1分鐘左右。 簡明操作如下: ###(1)使用phalapi-buildapp腳本 phalapi-buildapp腳本用于創建項目,進入 ./PhalApi/PhalApi/ 后,可以看到這個腳本。 不過,首先,需要為這個腳本添加執行權限: ```javascript $ chmod +x ./phalapi-buildapp ``` 然后,調用腳本創建一個MyApp的項目: ```javascript $ ./phalapi-buildapp MyApp OK! ``` ###(2)查看生成的項目及訪問 回到 /path/to/PhalApi 目錄,你會發現生成了一個MyApp目錄,并且里面的文件如下: ```javascript $ cd MyApp/ $ tree . ├── Api │?? └── Default.php ├── Common ├── Domain ├── Model └── Tests ├── Api │?? └── Api_Default_Test.php ├── Common ├── Domain ├── Model ├── phpunit.xml └── test_env.php 9 directories, 4 files ``` 在Public目錄下,則會有myapp的訪問入口: ```javascript └── myapp ├── checkApiParams.php └── index.php ``` 在瀏覽器訪問: ``` #根目錄設置為./Public http://dev.phalapi.com/myapp/ #或沒設置根目錄為./Public時訪問 http://dev.phalapi.com/Public/myapp/ ``` 可以看到接口結果輸出。 ###(3)執行單元測試 如果安裝了PHPUnit,執行一下單元測試,也是通過的! ```javascript $ phpunit ./Tests/ PHPUnit 4.3.4 by Sebastian Bergmann. ... Time: 7 ms, Memory: 5.75Mb OK (3 tests, 13 assertions) ``` ##1.2.4 更多技巧 ###(1)日志目錄需要0777權限 請確保日志目錄Runtime擁有寫入的權限,可以給0777 。 ###(2)腳本加執行權限和軟鏈 對于腳本命令,需要添加執行權限和軟鏈,便于日后使用: ```javascript $ cd /pah/to/PhalApi/PhalApi $ chmod +x ./phalapi-buildapp $ sudo ln -s /path/to/phalapi-buildapp /usr/bin/phalapi-buildapp $ chmod +x ./phalapi-buildsqls $ sudo ln -s /path/to/phalapi-buildsqls /usr/bin/phalapi-buildsqls $ chmod +x ./phalapi-buildtest $ sudo ln -s /path/to/phalapi-buildtest /usr/bin/phalapi-buildtest ``` ###(3)No such file or directory的解決方案 ####解決方案一:增加 /usr/bin/php軟鏈 可以將php的執行路徑追加到/usr/bin下,即類似: ``` ln -s /usr/local/php/bin/php /usr/bin/php ``` ####解決方案二:使用alias起別名 或者通過使用別名 alias 的方式來注冊腳本命令: ```javascript # vim /etc/bashrc #PhalApi - 自動生成SQL語句 alias phalapi-buildsqls='/usr/local/php/bin/php /path/to/PhalApi/phalapi-buildsqls' ``` 需要注意的是,保存后,需要source一下,即: ```javascript # source /etc/bashrc $ source /etc/bashrc ``` *** ##1.2.5 三個腳本命令使用說明 ###(1) 創建應用項目 如前文所述,可以通過```phalapi-buildapp```腳本來創建一個新的項目,其使用說明如下: ![](http://7xiz2f.com1.z0.glb.clouddn.com/1_20160422210157.jpg) ###(2)生成單元測試骨架代碼 當需要對某個類進行單元測試時,可使用```phalapi-buildtest```腳本生成對應的單元測試代碼,其使用如下: ![](http://7xiz2f.com1.z0.glb.clouddn.com/3_20160422210251.jpg) 其中, + 第一個參數file_path:是待測試的源文件相對/絕對路徑 + 第二個參數class_name:是待測試的類名 + 第三個參數bootstrap:是測試啟動文件,通常是./test_env.php文件 + 第四個參數author:你的名字,默認是dogstar 通常,可以先寫好類名以及相應的接口,然后再使用此腳本生成單元測試骨架代碼。 以Default.Index默認接口服務為例,需要為此生成測試骨架代碼,可以依次這樣操作: ``` $ cd /path/to/PhalApi $ cd ./Demo/Tests $ ../../PhalApi/phalapi-buildtest ../Api/Default.php Api_Default ./test_env.php > ./Api/Api_Default_Test.php ``` 最后,需要將生成好的代碼,重定向保存到你要保存的位置。通常與產品代碼對齊,并以“{類名} + _Test.php”方式命名。 ###(3)生成數據庫建表SQL 當需要創建數據庫表時,可以使用```phalapi-buildsqls```腳本結合配置文件dbs.php生成建表SQL,這個工具在創建分表時尤其有用,其使用如下: ![](http://7xiz2f.com1.z0.glb.clouddn.com/2_20160422210230.jpg) 其中, + 第一個參數dbs_config:是指向數據庫配置文件./Config/dbs.php的路徑,可以使用相對路徑 + 第二個參數table:是需要創建sql的表名,每次生成只支持一個 + 第三個參數engine:(可選)是指數據庫表的引擎,可以是:Innodb或者MyISAM > 溫馨提示:需要提前先將建表的SQL語句(除主鍵id和ext_data字段外)放置到./Data/目錄下,文件名為:{表名}.sql。 如,我們需要生成10用戶user_session表的的建表語句,那么需要添加數據文件./Data/user_session.sql(除主鍵id和ext_data字段外): ``` `user_id` bigint(20) DEFAULT '0' COMMENT '用戶id', `token` varchar(64) DEFAULT '' COMMENT '登錄token', `client` varchar(32) DEFAULT '' COMMENT '客戶端來源', `times` int(6) DEFAULT '0' COMMENT '登錄次數', `login_time` int(11) DEFAULT '0' COMMENT '登錄時間', `expires_time` int(11) DEFAULT '0' COMMENT '過期時間', ``` 然后,進入到項目根目錄,執行命令: ``` $ php ./PhalApi/phalapi-buildsqls ./Config/dbs.php user_session ``` 就會看到生成好的SQL語句了,類似: ``` CREATE TABLE `phalapi_user_session_0` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, ... ... PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `phalapi_user_session_1` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, ... ... `ext_data` text COMMENT 'json data here', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `phalapi_user_session_2` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, ... ... `ext_data` text COMMENT 'json data here', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `phalapi_user_session_3` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, ... ... `ext_data` text COMMENT 'json data here', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `phalapi_user_session_4` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, ... ... `ext_data` text COMMENT 'json data here', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `phalapi_user_session_5` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, ... ... `ext_data` text COMMENT 'json data here', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `phalapi_user_session_6` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, ... ... `ext_data` text COMMENT 'json data here', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `phalapi_user_session_7` ( ... ... `ext_data` text COMMENT 'json data here', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `phalapi_user_session_8` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, ... ... `ext_data` text COMMENT 'json data here', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `phalapi_user_session_9` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, ... ... `ext_data` text COMMENT 'json data here', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ``` 最后,便可把生成好的SQL語句,導入到數據庫,進行建表操作。 ####[上一章](/wikis/%5B1.1%5D-%E4%B8%8B%E8%BD%BD%E4%B8%8E%E5%AE%89%E8%A3%85.html) [文檔首頁](/wikis/) [下一章](/wikis/%5B1.3%5D-%E5%9C%A8%E7%BA%BF%E4%BD%93%E9%AA%8C.html)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看