<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 腳本命令的使用 自動化是提升開發效率的一個有效途徑。PhalApi致力于簡單的接口服務開發,同時也致力于通過自動化提升項目的開發速度。為此,生成單元測試骨架代碼、生成數據庫建表SQL這些腳本命令。應用這些腳本命令,能快速完成重復但消耗時間的工作。下面將分別進行說明。 ## phalapi-buildtest命令 當需要對某個類進行單元測試時,可使用phalapi-buildtest命令生成對應的單元測試骨架代碼,其使用說明如下: ![](http://7xiz2f.com1.z0.glb.clouddn.com/20170725232117_3fb828887ae30e22c8d4f02aa5d9aa26) 其中, + **第一個參數file_path** 是待測試的源文件相對/絕對路徑 。 + **第二個參數class_name** 是待測試的類名。 + **第三個參數bootstrap** 是測試啟動文件,通常是/path/to/phalapi/tests/bootstrap.php文件。 + **第四個參數author** 你的名字,默認是dogstar。 通常,可以先寫好類名以及相應的接口,然后再使用此腳本生成單元測試骨架代碼。以默認接口服務```Site.Index```接口服務為例,當需要為其生成單元測試骨架代碼時,可以執行以下命令。 ```bash $ ./bin/phalapi-buildtest ./src/app/Api/Site.php App\\Api\\Site > ./tests/app/Api/Site_Test.php ``` 最后,需要將生成好的骨架代碼,重定向保存到你要保存的位置。通常與產品代碼對齊,并以“{類名} + _Test.php”方式命名,如這里的app/Api/Site_Test.php。 生成的骨架代碼類似如下: ```php <?php //require_once dirname(__FILE__) . '/bootstrap.php'; if (!class_exists('App\\Api\\Site')) { require dirname(__FILE__) . '/./src/app/Api/Site.php'; } /** * PhpUnderControl_App\Api\Site_Test * * 針對 ./src/app/Api/Site.php App\Api\Site 類的PHPUnit單元測試 * * @author: dogstar 20170725 */ class PhpUnderControl_AppApiSite_Test extends \PHPUnit_Framework_TestCase { public $appApiSite; protected function setUp() { parent::setUp(); $this->appApiSite = new App\Api\Site(); } ... ... ``` 簡單修改后,便可運行。 ## phalapi-buildsqls命令 當需要創建數據庫表時,可以使用phalapi-buildsqls腳本命令,再結合數據庫配置文件./config/dbs.php即可生成建表SQL語句。此命令在創建分表時尤其有用,其使用如下: ![](http://7xiz2f.com1.z0.glb.clouddn.com/20170725232919_e6d034485ed2c5f208d6e5b6c34ae555) 其中, + **第一個參數dbs_config** 是指向數據庫配置文件的路徑,如./Config/dbs.php,可以使用相對路徑。 + **第二個參數table** 是需要創建sql的表名,每次生成只支持一個。 + **第三個參數engine** 可選參數,是指數據庫表的引擎,MySQL可以是:Innodb或者MyISAM。 + **第四個參數sqls_folder** 可選參數,SQL文件的目錄路徑。 在執行此命令先,需要提前先將建表的SQL語句,排除除主鍵id和ext_data字段,放置到./data目錄下,文件名為:{表名}.sql。 例如,我們需要生成10張user_session用戶會話分表的建表語句,那么需要先添加數據文件./data/user_session.sql,并將除主鍵id和ext_data字段外的其他建表語句保存到該文件。 ```sql `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 '過期時間', ``` 然后,進入到項目根目錄,執行命令: ```bash $ php ./bin/phalapi-buildsqls ./config/dbs.php user_session ``` 正常情況下,會看到生成好的SQL語句,類似下面這樣的輸出。 ```sql CREATE TABLE `phalapi_user_session_0` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `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 '過期時間', `ext_data` text COMMENT 'json data here', 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` ... ... CREATE TABLE `phalapi_user_session_3` ... ... CREATE TABLE `phalapi_user_session_4` ... ... CREATE TABLE `phalapi_user_session_5` ... ... CREATE TABLE `phalapi_user_session_6` ... ... CREATE TABLE `phalapi_user_session_7` ... ... CREATE TABLE `phalapi_user_session_8` ... ... CREATE TABLE `phalapi_user_session_9` ... ... ``` 最后,便可把生成好的SQL語句,導入到數據庫,完成建表的操作。 值得注意的是,生成的SQL建表語句默認會帶有自增ID主鍵id和擴展字段ext_data這兩個字段。所以保存在./data目錄下的建表語句可省略主鍵字段,以免重復。 ```sql `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, ... ... `ext_data` text COMMENT 'json data here', ``` ## 注意事項 在使用這些腳本命令前,需要注意以下幾點。 ### 執行權限 第一點是執行權限,當未設置執行權限時,腳本命令會提示無執行權限,類似這樣。 ```bash $ ./phalapi/bin/phalapi-buildtest -bash: ./phalapi/bin/phalapi-buildtest: Permission denied ``` 那么需要這樣設置腳本命令的執行權限。 ```bash $ chmod +x ./phalapi/bin/phalapi-build* ``` ### 編碼問題 其次,對于Linux平臺,可能會存在編碼問題,例如提示: ```bash $ ./phalapi/bin/phalapi-buildtest bash: ./phalapi/bin/phalapi-buildtest: /bin/bash^M: bad interpreter: No such file or directory ``` 這時,可使用dos2unix命令轉換一下編碼。 ```bash $ dos2unix ./phalapi/bin/phalapi-buildtest* dos2unix: converting file ./phalapi/bin/phalapi-buildsqls to Unix format ... dos2unix: converting file ./phalapi/bin/phalapi-buildtest to Unix format ... ``` ### 軟鏈 最后一點是,在任意目錄位置都是可以使用這些命令的,但會與所在的項目目錄綁定。通常,為了更方便使用這些命令,可以將這些命令軟鏈到系統命令下。例如: ```bash $ sudo ln -s /path/to/phalapi/bin/phalapi-buildsqls /usr/bin/phalapi-buildsqls $ sudo ln -s /path/to/phalapi/bin/phalapi-buildtest /usr/bin/phalapi-buildtest ```
                  <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>

                              哎呀哎呀视频在线观看