在oschina上看到 Phalcon的新闻, 发现还有热心的哥们翻译了中文文档,今天体验一下这个框架。
先安装php-dev
sudo apt-get install php5-devls /usr/bin |grep php
如果没有就加软链接:
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
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
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