phalcon 学习笔记(1)

前端时间现场听到大牛鸟哥讲他的Yaf框架,我作为一个小码农表示压力甚大,我现在受到部分的影响,也一直在使用php的框架Lazyphp(http://ftqq.com/lazyphp),真心觉得这个框架很好,一方面代替了平时不适用框架时大量$_POST等,而且非常容易上手。如今部门的产品都是基于Lazyphp的,自己写的玩的几个项目也是用的这个框架,可能是没有大流量的洗礼,到现在还没有观察到性能问题,但是为了能追赶时代的潮流,我也决定好好的学习下基于php extension的框架,没有先使用Yaf,而是选用了一个叫phalcon(http://phalconphp.com)的框架。晚上也是第一次使用,只是实现了一个很简单的demo。
首先讲下安装,其实phalconphp就是就是一个php的扩展,首先

git clone git://github.com/phalcon/cphalcon.git


phpize,./configure,make,make install 讲扩展编译安装下,然后修改下php.ini 加上扩展extension=phalcon.so
重启php就可以看到扩展已经安装完了。
然后就是在web的目录下建立一个名字叫app的文件夹,其下包括controllers,models,views 文件夹。同app目录建立一个public文件夹,包含css,js,img 文件夹存取静态文件。
然后就开始创建路由的index.php了,我创建的index.php代码如下:

 <?php
  try{
 
        $front = Phalcon_Controller_Front::getInstance();
 
       // Setting directories
        $front->setControllersDir("./app/controllers/");
        $front->setModelsDir("./app/models/");
        $front->setViewsDir("./app/views/");

       // Printing view output
       echo $front->dispatchLoop()->getContent();
 
  } catch(Phalcon_Exception $e) {
       echo "PhalconException: ", $e->getMessage();
  }

然后创建一个控制器在/app/controllers/文件夹下面,文件名叫IndexController.php
文件的内容为:

<?php
class IndexController extends Phalcon_Controller
{

    function indexAction()
    {
            echo "<h1>Hello lazy!</h1>";
    }

}

此时访问http://url/index.php 就可以看到 Hello lazy!了
demo url:http://kr.changes.com.cn/phalconphp/
参考文章: