主页 > 知识库 > 网络编程 > PHP >

PHP

教程: 让我们通过例子学习Phalcon(1)

来源:CIT信息网 作者:CIT小乐乐 发表于:2012-08-26 11:22  点击:
通过这个教程,我们将带您创建一个应用程序和一个简单的注册表单来让我们很快的成长起来。我们还将解释 框架 的行为,如果你对自动生成代码有兴趣,可以查看我们的开发者工具(http://docs.phalconphp.com/en/latest/reference/tools) 检查你的安装 我们将

通过这个教程,我们将带您创建一个应用程序和一个简单的注册表单来让我们很快的成长起来。我们还将解释框架的行为,如果你对自动生成代码有兴趣,可以查看我们的开发者工具(http://docs.phalconphp.com/en/latest/reference/tools)

检查你的安装

我们将提醒你是否已经安装了Phalcon,你可以通过phpinfo()来查看是否存在Phalcon部分,或者执行下面代码:

<?php print_r(get_loaded_extensions()); ?>

Phalcon应该出现在输出部分:

Array
(
   [0] => Core
   [1] => libxml
   [2] => filter
   [3] => SPL
   [4] => standard
   [5] => phalcon
   [6] => mysql
   [7] => mysqli
)

创建一个项目

最好方法是按照下面的每个步骤一个个的来,你可以在这里获取完整的代码。

文件结构

Phalcon不强制要求特定的文件结构对于应用程序开发。因为它是松散耦合的,您可以按照自己舒服的文件结构来使用Phalcon开发你的应用程序。

对于本教程,作为一个起点,我们建议以下结构:

test/
 app/
   controllers/
   models/
   views/
 public/
   css/
   img/
   js/

注意,您不需要Phalcon任何库相关目录。该框架可以在内存中,准备好供您使用。

有好的URLs

本教程将使用简单(友好)的urls.友好的urls对SEO是非常好的,因为我们很容易记住urls,Phalcon可以通过Web服务器提供的URL重写模块来定制自己希望的地址类型,这里我们以Apache为例子,让我们先创建/.htaccess服务器规则。

#/.htaccess

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule  ^$ public/    [L]
   RewriteRule  (.*) public/$1 [L]
</IfModule>

该项目所有的请求将被重写,以public/目录作为文档根目录。这个步骤确保内部项目文件夹隐藏在public/之外,从而不构成安全威胁。

第二个规则组将检查请求的文件是否存在,如果它并不一定要rewitten由web服务器模块:

#/public/.htaccess

<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteRule ^(.*)$ index.php?_url=$1 [QSA,L]
</IfModule>

启动

第一个文件你需要创建是引导文件。这个文件是非常重要的,因为它是您的应用程序的基础,让你控制的所有方面它。在这个文件中您可以实现初始化的组件以及应用程序的行为。

Phalcon_Controller_Front将会通过一个很简单的方式驱动MVC,这个类的一个实例就是Phalcon自动载入的。

我们创建 public/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();
}

Phalcon_Controller_Front的目的是初始化请求环境、路由,

传入的请求,然后派遣任何发现的行动;它聚集任何响应,并返回他们在程序完成时。正如您可以看到的,该文件是非常简单的,我们不需要包括任何额外的文件或注册autoloaders。

创建一个控制器

默认情况下Phalcon将寻找一个控制器命名为“index”。这是起点当没有控制器或行动已经传入请求。该指数控制器(app/controllers/IndexController.php)看起来像:

<?php
class IndexController extends Phalcon_Controller
{
   function indexAction()
   {
           echo "<h1>Hello!</h1>";
   }
}

控制器类必须有后缀“控制器”和控制器动作必须有后缀“Action”。如果你从你的浏览器访问该应用程序,您将看到如下内容:

 

../_images/tutorial-1.png

恭喜,你与Phalcon飞行!

CIT原创翻译 | 原文地址

    有帮助
    (4)
    80%
    没帮助
    (1)
    20%