更新于 2014-09-24 07:52:13 UEANER

系统环境

  • 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 脚本主要是封装了 phpizephp-configmake 命令的编译参数, 所以请确保你的 phpizephp-config 命令在环境变量里,否则运行 sudo ./install 前, 请修改 install 脚本文件的最后一行,指定 phpizephp-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/newhttp://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。如图:

webtools 管理界面

参考

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

评论:0

关闭高亮高亮 分享到新浪微博分享到新浪微博