#phalcon-入门篇2(HelloWord与PhalconTools)#php
本教程基于phalcon2.0.9版本html
##前言## 先在这里感谢各位phalcon技术爱好者,咱们提供这样一个优秀的交流平台git
最近恰好趁着春节放假前几天摸鱼的时间为你们带来今天的phalcon教程,今天教程的内容只要是把phalcon运行起来以及在开发过程当中的phalconTools工具的,在以后涉及到有代码教程都会存放在**<<教程代码库>>**项目中你们能够下载查阅,下面咱们开始今天的phalcon之路但愿你们喜欢.github
注:笔者水平有限,说的不正确的地方但愿你们多多指正,一同交流技术vim
附上:windows
喵了个咪的博客:http://w-blog.cnapp
教程代码库:http://git.oschina.net/wenzhenxi/Phalcon-tutorial框架
phalcon官网地址:https://phalconphp.comeclipse
phalcon中文社区:http://www.iphalcon.cn/phpstorm
##1. Hello,Word!##
咱们在学习不少语言框架刚开始接触的基本是都是**Hello,Word!**那么让咱们来看看怎么在phalcon上输出Hello,Word!
咱们先建立以下的目录结构在网站/目录 好比index.php的物理地址是 -> /phalcon/public/index.php
注意:phalcon的目录结构是松耦合的能够按照本身习惯使用对你来讲最舒服的文件结构。
###1.1 入口文件index###
入口文件的主要做用初始化各项须要加载的实例,注册控制器,数据层,view层而且处理请求得到返回结果
咱们在index.php加入以下代码:
use Phalcon\Loader; use Phalcon\Mvc\View; use Phalcon\Mvc\Application; use Phalcon\DI\FactoryDefault; try { // 建立自动加载(AutoLoaders)实例 $loader = new Loader(); // 经过自动加载加载控制器(Controllers) $loader->registerDirs(array( // 控制器所在目录 '../app/controllers/', ))->register(); // 建立一个DI实例 $di = new FactoryDefault(); // 实例化View 赋值给DI的view $di->set('view', function () { $view = new View(); $view->setViewsDir('../app/views/'); return $view; }); // 处理请求 $application = new Application($di); // 输出请求类容 echo $application->handle()->getContent(); } catch (\Exception $e){ // 异常处理 echo "PhalconException: ", $e->getMessage(); }
这个时候咱们访问一下index.php文件会发现有以下输出:
PhalconException: IndexController handler class cannot be loaded
这句话的意思是没有找到默认控制器没法加载,当咱们在开发过程当中遇到这种错误就须要咱们检测咱们须要的控制器是否存在了
###1.2 控制器IndexController###
注意:控制器文件首字母必须大写Controller首字母必须大小(在windows下不影响,可是为了编码规范请遵照)
接着咱们在控制器文件IndexController.php中加入以下语句:
use Phalcon\Mvc\Controller; // Index控制器类 必须继承Controller class IndexController extends Controller { // 默认Action public function indexAction() { echo "<h1>Hello Word!</h1>"; } }
此时咱们再次访问index.php会发现有以下输出
这个时候咱们就成功的进入到了控制器处理了请求
###1.3 使用view进行渲染###
在MVC框架中固然离不开View咱们来了解一下最基础的view使用
你们不难发现咱们在index.php中咱们也实例化了View而且赋值给了DI这个时候咱们在views目录下建立一个index.phtml文件
加入以下代码:
<?php echo 'This is a index!';
你们在访问index.php文件会得到以下返回
这个时候返回值处理就进入到了view层了
##2 PhalconTools工具##
在php开发中你们最长用的两个IDE一个是zendstudio一个是phpstorm(使用vim或者是纯文本编辑器的童鞋请绕过)
可是在进行phalcon开发的过程当中会发现一个问题phalcon对于这些IDE很不友好没有提示,没有高亮到处报错,这些都是应为C底层框架引发的问题,不过确定是有个解决方法的,还在苦恼的童鞋能够好好看下接下来的说明**(特别感谢@Marser提供)**
###2.1 phpstrom###
phpstrom是经过IDEA定制的php开发工具,也是官方推荐的开发工具
首先咱们要下载phalcon-devtools包而且解压
下载地址:phalcon-devtools
也能够在 教程代码库:http://git.oschina.net/wenzhenxi/Phalcon-tutorial本篇教程代码中下载
phpstrom导入下载好的开发工具
如上图所示,右键单击“External Libraries”,选择“Configure PHP Include Paths”,弹出以下操做框:
单点“+”按钮,在弹出的操做框中,选择到刚才phalcon-devtools的解压目录,而后双击选中“/ide/任一Phalcon版本/Phalcon/”目录,点击“应用”和“肯定”便可。如上图所示,我选择的是2.0.8版本。
phpstorm自动提示Phalcon语法
###2.2 zendstudio###
zendstudio是一款基于Eclipse zend官方维护的开发工具 喜欢eclipse的童鞋的最佳选择
下载代码提示包,而后解压
配置
打开“/your/workspace/.metadata/.plugins/org.eclipse.php.core/language/”目录,会看到当前目录下,有一些相似“555a446a”或者“7697c88c”的目录,这些目录名称是随机生成的,每一个目录当中都要将刚才解压后的Phalcon整个目录文件复制进去,不然不会生效
重启zend studio使用
重启zend studio,按“Project -> Clean -> Clean all projects”的步骤清除全部项目的编译状态,而后再按“Project -> Build All”的步骤从新编译全部项目的状态,zend studio便可识别Phalcon的语法并提示,以下图所示:
##3. 小结##
本小节主要是介绍了一下若是使用phalcon输出helloword而且进入view进行操做,还介绍了PhalconTools工具的使用,在下节咱们会着重介绍一下优美的URL路由以及配置文件的使用,喜欢的童鞋请继续关注!
注:笔者能力有限有说的不对的地方但愿你们可以指出,也但愿多多交流!
Phalcon技术交流:364520707 PhalCon中文社区:287484785 欢迎你们的加入!