您的位置:首页 > 编程语言 > PHP开发

搭建 PhalconPHP 框架开发环境

2015-05-14 20:04 447 查看
转载自:http://blog.aboutc.net/php/48/build-phalconphp-framework-development-environment

系统环境

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: