FuelPHP是基于PHP5.3+开发的框架,拥有很多优秀的特性ORM、CURD、Auth等,包含了丰富的扩展库oil,可以通过命令轻松创建web应用。
一、安装
使用curl进行安装,命令如下
curl get.fuelphp.com/oil | sh
二、创建项目
接下来就可以使用oil命令创建一个项目了
oil create myproject
当然也可以从官网直接下载zip包,当前的版本是1.7.1.
三、框架结构
介绍一下FuelPHP框架下web项目的主要MVC结构代码
控制器controller,在fuel/app/classes/下,以Controller_为前缀,继承Controller类。
模型model,在fuel/app/classes/下,官方的说明给出的是直接类名,但感觉还是类似的以Model为前缀的比较好,继承Model类。并且在用命令新建model的时候也是会有Model前缀的,开头也会有一个use OrmModel;的命名空间。
视图view不是在fuel/app/classes下了,而是在在fuel/app/views/下,是html嵌套PHP的形式。
需要注意的是fuelPHP框架还提供一个叫做“视图模型”的概念,即viewmodel,viewmodel是和controller及model在同一级目录下,即fuel/app/classes下。view model视图模型按照示例里的注释就可以解释为”预处理将要在view里显示的数据,这样可以更加简化controller的工作“,也就是说当应用程序变得更加复杂的时候,不能决定处理逻辑是属于controller还是view,viewmodel便将它们连接起来,起到一个传值、传函数的作用。
四、配置
配置文件在fuel/app/config/下,需要注意的是FuelPHP里有一个Environments的概念,分为四个环境:development、test、staging、production,每个环境下又会有自己独立的配置,这样比如我们将环境从development迁移到test下,只需用命令将FUEL_ENV变量的值设置为test就行了,
env FUEL_ENV=test php oil -v
而不需要去手动修改数据库连接上的等等配置了。
1、在fuel/app/bootstrap.php文件里可以看到默认情况下环境是development
这时候我们就需要在development文件夹下的db.php里配置数据库的主机名、数据库名等等。2、修改fuel/app/config/config.php文件,打开Orm包
Orm是Object Relational Mapper的缩写,即“对象关系映射”,实现的是面向对象语言与关系数据库数据之间的转换。如果Orm没有打开,上面的use OrmModel;命名空间是无法使用的。
五、新建文件
FuelPHP里提供的“脚手架”scaffold思想可以让我们轻松通过命令建立好数据管理页面,新建完整的MVC文件命令如下:
oil g scaffold article title:string body:text
通过该命令可以创建article的controller、model、view,当然view还不止一个,包括了index、view、create、edit、_form这五个view下的文件。这样一个命令就可以将整个添加、修改、删除的过程全部搞定了。
另外需要注意的是migrations文件夹下创建了一个数据迁移文件,打开这个数据迁移文件会发现里面是一个类,并且有up和down方法,up方法中会调用create_table()方法,同样,down方法中调用drop_table()方法。
oil refine migrate
调用命令去执行数据库的迁移文件,这时候就可以发现数据库中新建了一张article表,同时还有title、body字段(前提是前面数据库配置方面没有问题)。
到这一步的话访问项目下的article就可以看到一个列表了,可以添加、修改、删除article。
参考资料: