系统环境
- CentOS 7.0 x86_64
- PHP 5.6
- Phalcon 1.3.3
简介
Phalcon 是用C语言实现的拥有高性能和低功耗等特点的 PHP 开发框架。且开发效率高,简洁,自然,文档齐全。
关于 Phalcon 的开发环境,只需要安装上 PhalconPHP 扩展即可,与普通 PHP 扩展的安装没有区别,且 PhalconPHP 扩展源码提供了更简单的安装脚本。另外 PhalconPHP 官方还提供了 devtools,一个非常棒的辅助开发工具,同时也可以帮助我们了解 PhalconPHP 框架的结构,因此本篇文章也出现了大篇幅的phalcon devtools 的安装及使用内容。最关键的是框架本身会让你喜欢的不得了,的确是在每一个层面上帮我们更快一层。
大家是不是已经有心动的感觉呢,行动起来吧!
安装 git
$ sudo yum install git -y
安装 Phalcon
Phalcon 的安装和更新也相当简单:
1) 下载 cphalcon
源码进行安装,生成 phalcon.so 扩展文件:
$ git clone git://github.com/phalcon/cphalcon.git
$ cd cphalcon/build
$ git checkout 1.3.3
$ sudo ./install
注意:查看 install 脚本文件我们可以发现,install 脚本主要是封装了 phpize
,php-config
和 make
命令的编译参数,所以请确保你的 phpize
和 php-config
命令在环境变量里,否则运行 sudo ./install
前,请修改 install 脚本文件的最后一行,指定 phpize
和 php-config
的路径,可参考 使用 phpize 安装 PHP 扩展。
更新新版本或切换版本:如果有新版本发布,我们可以使用 git fetch
得到新版本的分支,同样使用以上安装方式运行:
$ cd /path/to/cphalcon/
$ git fetch
$ git checkout 1.3.4 # 或 git checkout x.x.x 切换到某一个版本
$ sudo ./install
是不是很爽,当然你 checkout 出来的某一个版本,要支持你当前使用的 PHP 的版本。可以参考 PHP 5.5 加载 PhalconPHP 框架版本问题。
2) 添加扩展到 php.ini:extension=phalcon.so
。
3) 重启 Apache 或 重新加载 php-fpm。
至此,PhalconPHP 框架扩展安装完成。
我们使用 php -m
看一下:
$ php -m | grep phalcon
phalcon
这么点命令你是不是连 phalcon 在 github 上的地址都背下来了~
安装 phalcon-devtools
一个好的框架,总会有一些好的工具帮助我们快速开发。
phalcon-devtools 是一些实用的辅助开发脚本,用于生成结构性的代码。您应用的核心代码只需要用一句简单的命令即可生成,让您更加方便地使用 Phalcon 去开发应用。
首先下载 phalcon devtools:
$ cd /var/www/ # Web Server 根目录
$ git clone https://github.com/phalcon/phalcon-devtools.git
$ cd phalcon-devtools/
$ ls
composer.json
docs
ide # PhpStorm 自动提示时会用
package.xml
phalcon.bat # windows 下脚本入口文件
phalcon-completion.bash
phalcon.pear
phalcon.php # 主要命令脚本文件
phalcon.sh # 脚本入口文件
README.md
resources # WEB 管理界面使用的 JS/CSS 资源
scripts # 命令的具体实现
templates # 基本模板数据文件,如生成项目时的一些默认文件
webtools.php # WEB 管理界面,通过 --enable-webtools 启用
为 phalcon.php 作软链,方便使用:
$ sudo ln -s $PWD/phalcon.php /usr/bin/phalcon
命令行输入 phalcon
:
$ phalcon
Phalcon DevTools (1.3.3)
Available commands:
commands (alias of: list, enumerate)
controller (alias of: create-controller)
model (alias of: create-model)
all-models (alias of: create-all-models)
project (alias of: create-project)
scaffold
migration
webtools
以后所有 生成项目
,生成控制器
,生成数据模型
等便捷的操作,都可以使用 phalcon
命令加相应参数来做。
如果你对命令行不熟悉,还可以 使用 WEB 管理界面,实现以上功能。
使用 Phalcon 开发工具,创建项目
现在我们已经有了 phalcon
命令,先创建一个项目:
$ cd ..
# phalcon project blog
Phalcon DevTools (1.3.3)
Success: Controller "index" was successfully created.
Success: Project 'blog' was successfully created.
$ ls -a blog/
. .. app .htaccess index.html .phalcon public
更改权限为你的 Web Server 用户,如 www:
$ chown -R www:www blog/
如果你使用的 Apache,那恭喜你,你可以直接在地址栏访问 http://localhost/blog/
,将返回:
Congratulations!
You're now flying with Phalcon. Great things are about to happen!
如果你使用的 nginx,请点击这里 Niginx 下配置 Phalcon。直接复制过来,单独配置一个域名,连 blog 这一层都不用出现在 url 里边了。
其实 phalcon project project-name
后可以加类型 micro/simple/modules/cli 默认是 simple
,针对不同的项目类型,生成相应的框架结构。是不是很强大!
创建 Controller / Model / 更多
首先我们到 当前项目目录
下:
$ cd blog/
创建一个 TestController,可以在命令行下,输入:
$ phalcon controller test
app/controllers/
目录下会自动生成 TestController.php 文件,和基本的文件内容:
<?php
class TestController extends \Phalcon\Mvc\Controller
{
public function indexAction()
{
}
}
创建一个 test 表的 Model,在命令行下,输入:
$ phalcon model test
app/models/
目录下会自动生成对应的 Test.php 的 ORM 文件,太过瘾了。
<?php
class Test extends \Phalcon\Mvc\Model
{
/**
*
* @var integer
*/
public $id;
/**
*
* @var string
*/
public $name;
}
当然你先要在 app/config/config.php
文件中配置 database
信息,以便创建 model 时可以连接上数据库。
创建所有表的 Model,在命令行下,输入:
$ phalcon all-models
app/models/
目录下一堆 ORM 文件出现了:
Category.php
Comment.php
EntryCategory.php
Entry.php
EntryTag.php
Region.php
Search.php
Test.php
创建 test 表的脚手架,在命令行下,输入:
$ phalcon scaffold --table-name test
你会发现这几个文件产生了:
app/controllers/TestController.php
app/views/layouts/test.phtml
app/views/test/index.phtml
app/views/test/search.phtml
app/views/test/new.phtml
app/views/test/edit.phtml
现在可以在地址栏访问 http://localhost/blog/test/new
,http://localhost/blog/test/edit/[id]
,http://localhost/blog/test/search
,创建,编辑和搜索记录了。是不是感觉失去的时间找回来了!
好了,先这样吧。
更多更详尽的参数信息可以通过以下命令格式获取:
$ phalcon [project/controller/model/...] help
或查看此页面 获取可用的命令。
等不急用 PhalconPHP 框架来做一个项目的话,就 先来跑一个 PhalconPHP 框架的 MVC 实例 吧。
phalcon 启用 webtools
我们可以在生成项目时,使用 --enable-webtools
参数,生成 WEB 管理界面。
phalcon create-project [project-name] --enable-webtools
访问地址:http://localhost/[project-name]/webtools.php
。如图:
参考
Phalcon Developer Tools on Linux:http://docs.phalconphp.com/en/latest/reference/linuxtools.html
Phalcon 开发工具:http://docs.phalconphp.com/zh/latest/reference/tools.html
Phalcon for Linux/Unix/Mac:http://phalconphp.com/zh/download
Phalcon IDE Stubs 视频:http://phalconphp.com/zh/download/stubs
转载请注明出处。 本文地址:http://blog.aboutc.net/php/48/build-phalconphp-framework-development-environment