phalcon-入门篇2(HelloWord与PhalconTools)

本文介绍了如何使用Phalcon框架实现简单的HelloWorld示例,并演示了如何使用PhalconTools工具提升开发体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#phalcon-入门篇2(HelloWord与PhalconTools)#

本教程基于phalcon2.0.9版本

##前言## 先在这里感谢各位phalcon技术爱好者,我们提供这样一个优秀的交流平台

最近刚好趁着春节放假前几天摸鱼的时间为大家带来今天的phalcon教程,今天教程的内容只要是把phalcon运行起来以及在开发过程中的phalconTools工具的,在之后涉及到有代码教程都会存放在**<<教程代码库>>**项目中大家可以下载查阅,下面我们开始今天的phalcon之路希望大家喜欢.

注:笔者水平有限,说的不正确的地方希望大家多多指正,一同交流技术

附上:

喵了个咪的博客:http://w-blog.cn

教程代码库:http://git.oschina.net/wenzhenxi/Phalcon-tutorial

phalcon官网地址:https://phalconphp.com

phalcon中文社区:http://www.iphalcon.cn/

##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开发工具,也是官方推荐的开发工具

  1. 首先我们要下载phalcon-devtools包并且解压

    下载地址:phalcon-devtools

    也可以在 教程代码库:http://git.oschina.net/wenzhenxi/Phalcon-tutorial本篇教程代码中下载

  2. phpstrom导入下载好的开发工具

    如上图所示,右键单击“External Libraries”,选择“Configure PHP Include Paths”,弹出如下操作框:

    单点“+”按钮,在弹出的操作框中,选择到刚才phalcon-devtools的解压目录,然后双击选中“/ide/任一Phalcon版本/Phalcon/”目录,点击“应用”和“确定”即可。如上图所示,我选择的是2.0.8版本。

  3. phpstorm自动提示Phalcon语法

###2.2 zendstudio###

zendstudio是一款基于Eclipse zend官方维护的开发工具 喜欢eclipse的童鞋的最佳选择

  1. 下载代码提示包,然后解压

    https://github.com/rogerthomas84/PhalconPHPDoc

  2. 配置

    打开“/your/workspace/.metadata/.plugins/org.eclipse.php.core/language/”目录,会看到当前目录下,有一些类似“555a446a”或者“7697c88c”的目录,这些目录名称是随机生成的,每个目录当中都要将刚才解压后的Phalcon整个目录文件复制进去,否则不会生效

  3. 重启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 欢迎大家的加入!

转载于:https://my.oschina.net/wenzhenxi/blog/612491

Phalcon 中文文档 一般都是直接看英文资料,大都能看得懂。但看到Phalcon框架如此优秀,在学习后就想和大家分享,但发现国内的人几乎没有使用的,故想翻译一下,一旦翻译才发现读懂和译出一篇好文章真的不太一样。 故前一期翻译的部分章节有点生硬,等有空的时候再回头重译吧,后面的一部分也是以英文文档为基础,但并不再是逐句翻译了。 09年左右,大量的框架出现,我看过的框架不下20种,最先看到的可能就是php.MVC了,这是一个按照struts 1x编写的,只不过同时加载的类库太多了,效率不高而且不太完善。 后来稍有名的包括 cakephp, Symfony, Akelos, Prado, Kohana等,最近几年流行的就是 zf, yii, ci等,当然还有国内几个比较有名的框架,如fleaphp, thinkphp等。 在上面的一些框架中,我比较感冒的还是ci,yii,thinkphp等。ci,thinkphp够简单,速度也不错。yii是生活在国外的华人开发,功能够全而强大,速度也不错,国内的应用也不少。 一直不太喜欢zf,记得几年前就和同行朋友聊天的时候说,像ZEND公司完全可以用C语言开发出一个扩展来,这样效率会高得多,为毛非得用PHP开发呢,事实被我验证了,但开发扩展的不是ZEND公司,而是国内一个PHP大鸟,人称鸟哥。这个框架就是非常出名的YAF,因此YAF扩展是我必装的扩展之一。同时这也是我发现的第一个C语言写的扩展框架。 但YAF的缺点是,功能非常不完善,在我看来只是简单实现了MVC结构及路由,分发等功能,像一些ORM之类的功能完全没有开发,作者好像也没有开发的意思:) 后来就发现了Phalcon,一看文档就爱上了她,功能,速度等都是我想要的,我花了一周时间看文档学习她,并在一个下午的过程中,发现了文档中的三个错误并提交了这些错误:),我决定为完善它也贡献一点自己的力量。 本文档的中文地址存放在 http://phalcon.5iunix.net Github上的地址为: https://github.com/netstu/phalcondocs ,您如果发现有些地方译的有些操蛋,烦请你fork它,并完善她。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值