个性化阅读
专注于IT技术分析

Phalcon第一个例子

Bootstrap

要在Phalcon中创建任何应用程序, 首先必须创建一个引导文件。 Bootstrap文件充当应用程序的入口点和配置。该文件处理3件事情:

  1. 组件自动装带器的注册。
  2. 配置服务并向依赖注入注册它们。
  3. 解决应用程序的HTTP请求。

要创建此文件, 我们遵循四个步骤:

  1. 创建自动加载器
  2. 使用依赖管理
  3. 创建出厂默认设置
  4. 处理申请要求

自动装带器

它加载PSR-4, 该文件由通过Phalcon C扩展程序运行的投诉文件加载器组成。自动加载器主要添加了控制器和模型。我们还可以注册包含不同文件名称空间的目录。

Public / index.php

Phalcon第一个示例1

依赖管理

Phalcon是一个松散耦合的框架, 由于该框架, 所有服务都已在依赖项管理器中注册。所有服务都自动传递到IoC(控制反转)容器内的组件和服务。

所有服务都包含在类文件DI(依赖注入)中, 并且IoC容器包含以下概念:

  • 服务容器:一个”包”, 我们在其中全局存储应用程序需要运行的服务。
  • 服务或组件:将被注入组件的数据处理对象。

目录:Phalcon \ DI

出厂默认值

出厂默认值, 即Phalcon \ Di \ FactoryDe​​fault是Phalcon \ Di的变体。

首先, 我们为DI创建对象, 该对象将自动注册大部分组件。

public \ index.php

Phalcon第一个示例2

现在, 我们将”查看”服务注册到可在其中找到文件的目录地址。

Phalcon第一个示例3

现在, 我们生成基本URL

Phalcon第一个示例4

申请要求

应用程序请求为应用程序实现MVC(模型视图控制器)。在此之下, 我们初始化三件事:

  1. 初始化请求环境。
  2. 路由传入的请求。
  3. 调度所有发现的动作。

public \ index.php

Phalcon第一个示例5

例子

完整的引导文件:

<?php

use Phalcon\Loader;
use Phalcon\Config\Adapter\Ini as ConfigIni;
use Phalcon\Di\FactoryDefault;
use Phalcon\Mvc\View;
use Phalcon\Mvc\Url as UrlProvider;
use Phalcon\Mvc\Application;

// Define some absolute path constants to aid in locating resources

define('BASE_PATH', dirname(__DIR__));
define('APP_PATH', BASE_PATH . '/app');

// Register an autoloader
$loader = new Loader();

$loader->registerDirs(
    [
        APP_PATH . '/controllers/', APP_PATH . '/models/', ]
);

$loader->register();

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

// Setup the view component
$di->set(
    'view', function () {
        $view = new View();
        $view->setViewsDir(APP_PATH . '/views/');
        return $view;
    }
);

// Setup a base URI so that all generated URIs include the "tutorial" folder
$di->set(
    'url', function () {
        $url = new UrlProvider();
        $url->setBaseUri('/');
        return $url;
    }
);

$application = new Application($di);

try {
    // Handle the request
    $response = $application->handle();

    $response->send();
} catch (\Exception $e) {
    echo 'Exception: ', $e->getMessage();
}
?>

输出

Phalcon第一个示例6
赞(0)
未经允许不得转载:srcmini » Phalcon第一个例子

评论 抢沙发

评论前必须登录!