99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

創(chuàng)建一個(gè)自己的項(xiàng)目

2018-11-21 10:21 更新

有夢想的人學(xué)習(xí)能力特別強(qiáng),而且不拒絕任何新東西。 -- 《理想豐滿》

1.2.1 可視化安裝

將代碼上傳到服務(wù)器并解壓后,訪問: ./Public/install/ 下的安裝向?qū)?,如在瀏覽器打開:

http://dev.phalapi.com/install/

然后按照提示,一步步操作即可:

(0)第零步:同意安裝

a pic

(1)第一步:環(huán)境檢查

a pic

(2)第二步:系統(tǒng)配置

a pic

(3)第三步:接口請(qǐng)求

a pic

(4)運(yùn)行效果

a pic

1.2.2 手動(dòng)創(chuàng)建

在Windows系統(tǒng)下,可以手動(dòng)創(chuàng)建一個(gè)新的項(xiàng)目。

假設(shè)目錄為: F:\xampp\htdocs\PhalApi
以下是簡單的創(chuàng)建操作:

(1)新建項(xiàng)目目錄

在./PhalApi目錄下新建一個(gè)自己的項(xiàng)目目錄,通常以項(xiàng)目名稱命名,如項(xiàng)目MyApp對(duì)應(yīng):

QQ截圖20150404004219

然后,再分別在里面添加接口目錄Api、領(lǐng)域目錄Domain、數(shù)據(jù)源目錄Model和通用目錄Common,即:

QQ截圖20150404004458

(2)準(zhǔn)備一個(gè)接口

全部的接口類文件需要放置到./Api 目錄下,你可以嘗試編寫一個(gè)簡單的Default.Index接口,也可以直接將./Demo/Api/Default.php文件復(fù)制過來。

(3)創(chuàng)建訪問入口

將./Public/demo目錄復(fù)制一份為對(duì)應(yīng)項(xiàng)目名稱小寫的目錄,如這里的myapp:

QQ截圖20150404004653

注意!這里需要修改./Public/myapp/index.php和./Public/myapp/checkApiParams.php中的目錄:

QQ截圖20150404004731

(4)瀏覽器訪問

在瀏覽器輸入以下鏈接:

http://localhost/phalapi/public/myapp/

應(yīng)該可以看到:

QQ截圖20150404004959

1.2.3 自動(dòng)生成

在Linux系統(tǒng)下,我們可以使用腳本快速生成一個(gè)項(xiàng)目結(jié)構(gòu),此過程只需要1分鐘左右。

簡明操作如下:

(1)使用phalapi-buildapp腳本

phalapi-buildapp腳本用于創(chuàng)建項(xiàng)目,進(jìn)入 ./PhalApi/PhalApi/ 后,可以看到這個(gè)腳本。

不過,首先,需要為這個(gè)腳本添加執(zhí)行權(quán)限:

$ chmod +x ./phalapi-buildapp

然后,調(diào)用腳本創(chuàng)建一個(gè)MyApp的項(xiàng)目:

$ ./phalapi-buildapp MyApp

OK!

(2)查看生成的項(xiàng)目及訪問

回到 /path/to/PhalApi 目錄,你會(huì)發(fā)現(xiàn)生成了一個(gè)MyApp目錄,并且里面的文件如下:

$ 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目錄下,則會(huì)有myapp的訪問入口:

└── myapp
    ├── checkApiParams.php
    └── index.php

在瀏覽器訪問:

#根目錄設(shè)置為./Public
http://dev.phalapi.com/myapp/

#或沒設(shè)置根目錄為./Public時(shí)訪問
http://dev.phalapi.com/Public/myapp/

可以看到接口結(jié)果輸出。

(3)執(zhí)行單元測試

如果安裝了PHPUnit,執(zhí)行一下單元測試,也是通過的!

$ 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權(quán)限

請(qǐng)確保日志目錄Runtime擁有寫入的權(quán)限,可以給0777 。

(2)腳本加執(zhí)行權(quán)限和軟鏈

對(duì)于腳本命令,需要添加執(zhí)行權(quán)限和軟鏈,便于日后使用:

$ 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的執(zhí)行路徑追加到/usr/bin下,即類似:

ln -s /usr/local/php/bin/php /usr/bin/php

解決方案二:使用alias起別名

或者通過使用別名 alias 的方式來注冊(cè)腳本命令:

# vim /etc/bashrc 

#PhalApi - 自動(dòng)生成SQL語句
alias phalapi-buildsqls='/usr/local/php/bin/php /path/to/PhalApi/phalapi-buildsqls'

需要注意的是,保存后,需要source一下,即:

# source /etc/bashrc

$ source /etc/bashrc

1.2.5 三個(gè)腳本命令使用說明

(1) 創(chuàng)建應(yīng)用項(xiàng)目

如前文所述,可以通過phalapi-buildapp腳本來創(chuàng)建一個(gè)新的項(xiàng)目,其使用說明如下:

(2)生成單元測試骨架代碼

當(dāng)需要對(duì)某個(gè)類進(jìn)行單元測試時(shí),可使用phalapi-buildtest腳本生成對(duì)應(yīng)的單元測試代碼,其使用如下:

其中,

  • 第一個(gè)參數(shù)file_path:是待測試的源文件相對(duì)/絕對(duì)路徑
  • 第二個(gè)參數(shù)class_name:是待測試的類名
  • 第三個(gè)參數(shù)bootstrap:是測試啟動(dòng)文件,通常是./test_env.php文件
  • 第四個(gè)參數(shù)author:你的名字,默認(rèn)是dogstar

通常,可以先寫好類名以及相應(yīng)的接口,然后再使用此腳本生成單元測試骨架代碼。
以Default.Index默認(rèn)接口服務(wù)為例,需要為此生成測試骨架代碼,可以依次這樣操作:

$ cd /path/to/PhalApi
$ cd ./Demo/Tests
$ ../../PhalApi/phalapi-buildtest ../Api/Default.php Api_Default ./test_env.php > ./Api/Api_Default_Test.php

最后,需要將生成好的代碼,重定向保存到你要保存的位置。通常與產(chǎn)品代碼對(duì)齊,并以“{類名} + _Test.php”方式命名。

(3)生成數(shù)據(jù)庫建表SQL

當(dāng)需要?jiǎng)?chuàng)建數(shù)據(jù)庫表時(shí),可以使用phalapi-buildsqls腳本結(jié)合配置文件dbs.php生成建表SQL,這個(gè)工具在創(chuàng)建分表時(shí)尤其有用,其使用如下:

其中,

  • 第一個(gè)參數(shù)dbs_config:是指向數(shù)據(jù)庫配置文件./Config/dbs.php的路徑,可以使用相對(duì)路徑
  • 第二個(gè)參數(shù)table:是需要?jiǎng)?chuàng)建sql的表名,每次生成只支持一個(gè)
  • 第三個(gè)參數(shù)engine:(可選)是指數(shù)據(jù)庫表的引擎,可以是:Innodb或者M(jìn)yISAM

溫馨提示:需要提前先將建表的SQL語句(除主鍵id和ext_data字段外)放置到./Data/目錄下,文件名為:{表名}.sql。

如,我們需要生成10用戶user_session表的的建表語句,那么需要添加數(shù)據(jù)文件./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 '登錄次數(shù)',
      `login_time` int(11) DEFAULT '0' COMMENT '登錄時(shí)間',
      `expires_time` int(11) DEFAULT '0' COMMENT '過期時(shí)間',

然后,進(jìn)入到項(xiàng)目根目錄,執(zhí)行命令:

$ php ./PhalApi/phalapi-buildsqls ./Config/dbs.php user_session

就會(huì)看到生成好的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語句,導(dǎo)入到數(shù)據(jù)庫,進(jìn)行建表操作。

(4)生成接口代碼 - V1.3.4及以上版本支持

當(dāng)需要編寫開發(fā)一個(gè)接口時(shí),可以使用phalapi-buildcode腳本生成基本的Api、Domain和Model代碼。此腳本不是很強(qiáng)悍的,項(xiàng)目可以根據(jù)自己的喜歡使用,或者修改定制自己的模板。其使用如下:

其中,

  • 第一個(gè)參數(shù)app_path:是指項(xiàng)目根目錄到你的項(xiàng)目的相對(duì)路徑
  • 第二個(gè)參數(shù)api_path:是需要?jiǎng)?chuàng)建接口的相對(duì)項(xiàng)目的相對(duì)路徑,支持多級(jí)目錄,可不帶.php后綴
  • 第三個(gè)參數(shù)author:(可選)你的名字,默認(rèn)為空
  • 第四個(gè)參數(shù)overwrite:(可選)是否覆蓋已有的代碼文件,默認(rèn)為否

例如,我們要為Demo項(xiàng)目生成一個(gè)新的接口文件./AA/BB/CC.php,則可以:

$ cd /path/to/PhalApi
$ ./PhalApi/phalapi-buildcode Demo AA/BB/CC dogstar
Start to create folder /mnt/hgfs/F/PHP/PhalApi/PhalApi/../Demo/Api/AA/BB ...
Start to create folder /mnt/hgfs/F/PHP/PhalApi/PhalApi/../Demo/Domain/AA/BB ...
Start to create folder /mnt/hgfs/F/PHP/PhalApi/PhalApi/../Demo/Model/AA/BB ...
Start to create file /mnt/hgfs/F/PHP/PhalApi/PhalApi/../Demo/Api/AA/BB/CC.php ...
Start to create file /mnt/hgfs/F/PHP/PhalApi/PhalApi/../Demo/Domain/AA/BB/CC.php ...
Start to create file /mnt/hgfs/F/PHP/PhalApi/PhalApi/../Demo/Model/AA/BB/CC.php ...

OK! AA/BB/CC has been created successfully!

可以看到生成的代碼有:

訪問接口:

最后,在線接口列表,可以看到:

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)