文档章节

Ubuntu 体验一把C语言的PHP框架 Phalcon PHP Framework

淡水鱼
 淡水鱼
发布于 2013/03/21 20:31
字数 691
阅读 1830
收藏 9

在oschina上看到 Phalcon的新闻,  发现还有热心的哥们翻译了中文文档,今天体验一下这个框架。

先安装php-dev

sudo apt-get install php5-dev
ls /usr/bin |grep php
看看, phpize,php-cofnig 在不在这个目录,  如果没有,再看看/urs/local/bin,再没有,就找到php安装目录,加软链接到这边来。(apt-get安装的话就直接有了。)

如果没有就加软链接:

ln -s {phpdir}/bin/phpize /usr/bin
ln -s {phpdir}/bin/php-cofnig /usr/bin

开始安装Phalcon

cd ~/Downloads/
git clone git://github.com/phalcon/cphalcon.git
cd cphalcon/build/
sudo ./install

安装完成之后添加 Phalcon 扩展配置文件。

cd /etc/php5/apache2/conf.d
sudo cp imagick.ini cphalcon.ini
sudo vim cphalcon.ini
我们复制imagick。ini的配置文件。然后编辑输入:
; configuration for php Phalcon PHP Framework module
; https://github.com/phalcon/cphalcon
extension=phalcon.so

重启apache

sudo /etc/init.d/apache2 restart

试试Phalcon 官方的 Phalcon tutorial
cd /var/www
git clone git://github.com/phalcon/tutorial.git
访问一下 localhost/tutorial 发现不支持rewrite 配置apache支持 rewrite
sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
sudo vim /etc/apache2/sites-available/default

<Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
改为:

<Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride ALL
                Order allow,deny
                allow from all
        </Directory>


ok了

控制器,模型 都在截屏上了。 c语言实现php mvc  的确不错哦。 如果有个php实现的版本,对phper来说还是比较有爱的, 因为大多数高PHP的同学们是不会C开发的,这样子如果对框架有社么扩展或者修改的需求,那就可以去研究谭浩强了。    可能框架作者已经考虑过, 指不定有完善的api,扩展,修改机制。 有待研究。


大概看了一下官方的简易演示代码,感觉就好像是C语言版本的yii框架。 呵呵

index.php入口文件代码:

<?php

try {

    //Register an autoloader
    $loader = new \Phalcon\Loader();
    $loader->registerDirs(
        array(
            '../app/controllers/',
            '../app/models/'
        )
    )->register();

    //Create a DI
    $di = new Phalcon\DI\FactoryDefault();

    //Set the database service
    $di->set('db', function(){
        return new \Phalcon\Db\Adapter\Pdo\Mysql(array(
            "host" => "localhost",
            "username" => "root",
            "password" => "123456",
            "dbname" => "Phalcon"
        ));
    });

    //Setting up the view component
    $di->set('view', function(){
        $view = new \Phalcon\Mvc\View();
        $view->setViewsDir('../app/views/');
        return $view;
    });

    //Handle the request
    $application = new \Phalcon\Mvc\Application();
    $application->setDI($di);
    echo $application->handle()->getContent();

} catch(\Phalcon\Exception $e) {
     echo "PhalconException: ", $e->getMessage();
}

注册控制器代码

<?php

class SignupController extends Phalcon\Mvc\Controller
{

	public function indexAction()
	{

	}

	public function registerAction()
	{

		//Request variables from html form
		$name = $this->request->getPost('name', 'string');
		$email = $this->request->getPost('email', 'email');

		$user = new Users();
		$user->name = $name;
		$user->email = $email;

		//Store and check for errors
		if ($user->save() == true) {
			echo 'Thanks for register!';
		} else {
			echo 'Sorry, the next problems was generated: ';
			foreach ($user->getMessages() as $message){
				echo $message->getMessage(), '<br/>';
			}
		}
	}

}

有空再深入试试他的特性。 


下面添加一下安装过程的截图:

修改配置文件,增加phalcon扩展支持

phpinfo 中的phalcon


© 著作权归作者所有

淡水鱼

淡水鱼

粉丝 12
博文 12
码字总数 5378
作品 0
广州
产品经理
私信 提问
加载中

评论(1)

yak
yak
我想直接输出json 不调用模板文件 , 注释掉 $di->set('view', 这一段,会直接报错
第一章 phalcon 简介

Phalcon 用c扩展,为php5开发的开源的,全站式的框架,效率非常高。你不用学习和使用c语言,因为这些功能使用php类实现供我们使用。Phalcon是松耦合的,允许你使用多个对象作为组件组合到一起...

drewin
2014/02/28
297
1
WebMIS 基于 phalcon 提供在线体验

Phalcon 是一个开源的,全堆栈的,用C语言写成的php5框架,专为高性能设计。你不需要学习和使用C语言的功能,因为这是一个PHP框架,只不过用C写成而已。同时Phalcon是松耦合的,您可以根据需...

WebMIS
2015/09/19
2.6K
12
IKPHP官网/phalconcms

PhalconSNS A SNS with Phalcon framework development program 开发人:小麦 Email:ikphp@sina.cn 开发时间:2014年3月份 一个新的c语言的框架 phalcon;速度比一般php框架要快;还在开发中...

IKPHP官网
2014/08/19
0
0
phalcon-入门篇1(基本介绍与环境搭建)

本教程基于phalcon2.0.9版本 *先在这里感谢各位phalcon技术爱好者,我们提供这样一个优秀的交流平台 * 离结束了PhalApi教程之后一个多月,我喵了个咪又回来了,这次为大家带来的教程是一款国外的...

喵了_个咪
2016/01/24
1K
2
[Zephir开发实践]用Zephir编写PHP扩展实践

场景描述 首先,还是强烈推荐一下Phalcon这个框架。 由于对这个框架很感兴趣,所以看了其官方文档,并在先前用PHP根据其思想写了两个Phalcon核心类,见链接: #年前福利#Phalcon框架部分核心...

暗夜在火星
2014/06/26
440
0

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
14
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
15
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部