strangerwork / strangerwas
Requires
- mustangostang/spyc: @stable
- strangerwork/strangerfw: 0.9.0
- swiftmailer/swiftmailer: @stable
This package is auto-updated.
Last update: 2024-09-05 16:38:56 UTC
README
StrangerPHP是一个用PHP编写的Web框架。
创建新项目
要创建新项目,请按照以下方式clone StrangerPHP。以下示例中,将在/home/someone/Project/目录下以“stranger”为项目名创建项目。 > git clone https://github.com/satokadumasa/strangerphp stranger
创建数据库
StrangerPHP使用MySQL作为数据库。首先,在数据库上创建模式,然后创建表以在其中读写数据。首先,在数据库上创建模式。
首先要做的是初始化数据库。初始化会生成模式。首先,创建一个包含数据库连接信息的database.config.php文件。或者说,复制sample。此时,假定您已经在/home/someone/Project/目录下创建了项目。
> cp config/database.config.sample.php config/development/ > cp config/database.config.sample.php config/production/ $> cp config/database.config.sample.php config/test/
接下来是生成模式。以下条件用于生成模式。
HOST:localhost Charset:utf8 user:root password:password 模式名:stranger
首先,编辑前面复制的database.config.php文件如下。 $> vi config/[ENVIRONMENT]/database.config.php
$default_database = array( 'rdb' => 'mysql', 'host' => 'localhost', 'dbname' => 'mysql', 'charset' => 'utf8', 'username' => 'root', 'password' => 'password', );
此时,请不要更改(dbname)为您的项目用模式名。编辑完成后,保存database.config.php并退出编辑。
接下来,执行以下命令。
$> php ./stranger.php migrate:create:schema localhost:utf8:root:password:stranger
这样,在MySQL上以“stranger”为名称的模式已创建。
接下来,在stranger模式上创建migration管理表migrations。执行以下命令。
$> php ./stranger.php migrate:init
这样,模式和migration管理表已创建。接下来,再次编辑database.config.php,更改模式名。
$> vi config/[ENVIRONMENT]/database.config.php
$default_database = array( 'rdb' => 'mysql', 'host' => 'localhost', 'dbname' => 'stranger', 'charset' => 'utf8', 'username' => 'root', 'password' => 'password', );
这样,就可以访问stranger模式了。
创建脚手架
StrangerPHP虽然轻量,但也是一个强大的框架。其中之一就是scaffold功能。如果您使用过Ruby on Rails等,应该熟悉这个功能。这个功能可以一次创建控制器、模型、migration文件,以及实现CRUD功能所需的实现框架。让我们使用scaffold功能创建一个user_infos表的读写,并将view中的读写内容显示在UserInfoController和view文件中,以及创建user_infos表的migration文件。
生成的内容如下。 id:标识符 first_name:名 last_name:姓 pref_id:都道府县ID city:市区町村名 address:街道地址
请在/home/someone/Project/stranger/项目根目录下执行以下命令。
$> php ./stranger.php -g scaffold user_infos
first_name:string:64:false:
last_name:string:64:false:
pref_id:int:8:false:
city:string:32:false:
address:string:64:false:: \
不言而喻,“\”不是表示换行,而是表示内容继续的符号。实际上,(去掉“\”)应一行输入。
那么,以下文件将生成。
控制器 /home/someone/Project/stranger/controllers/UserInfoController.php 模型类 /home/someone/Project/stranger/models/UserInfo.php 视图模板 /home/someone/Project/stranger/views/UserInfo/index.tpl /home/someone/Project/stranger/views/UserInfo/create.tpl /home/someone/Project/stranger/views/UserInfo/edit.tpl /home/someone/Project/stranger/views/UserInfo/show.tpl 迁移文件 /home/someone/Project/stranger/db/migrate/20170531235959CreateTableUserInfo.php
这样,user_infos表的读写和显示读取结果的功能框架已经生成。
运行迁移
您可能已经知道,在MySQL客户端软件中查看stranger模式时,此时还没有创建user_infos表。scaffold中创建的功能需要创建user_infos表才能使用。以下是创建表的命令。
$> php ./stranger.php migrate
这样,user_infos表将创建。
以上就是对项目创建、Scaffold和migration功能的说明。
另外,我们随时接受StrangerPHP的咨询。商业用途和业务项目中的使用,我们将提供有偿支持。除个人非营利项目外,我们将提供支持。请随时通过以下电子邮件地址联系。
电子邮件:sato.kadumasa@gmail.com
StrangerPHP
目前,可以使用以下功能。
- Scaffold 您可以创建控制器、模型、视图模板文件。
- 生成控制器 您可以创建控制器和方法、视图模板文件。
- 生成模型类 您可以创建模型类。下面是一个简单示例。
- 运行迁移
scaffold
使用Scaffold功能,您可以一次创建控制器、模型和视图模板,以及CRUD功能。
例如:$> php ./stranger.php -g scaffold books name:string outline:text detail:text
生成控制器
如果您只创建控制器,请按照以下步骤执行stranger命令。控制器和视图模板文件将被创建。
示例:$> php ./stranger.php -g controller books index show create delete
生成模型
如果您只创建模型类文件,请按照以下步骤执行stranger命令。
示例:$> php ./stranger.php -g model books name:string outline:text detail:text
迁移
Scaffold或模型创建会创建迁移文件。您可以使用此迁移文件在数据库上创建表。
示例:$> php ./stranger.php migrate