1. zend framework工程项目树形列表如下:
application:存放工程相关的组件文件
configs:配置文件目录(application.ini 可以进行数据库的配置)
controllers:控制器目录
models:存放表模型、类模型(zf中一张表对应一个视图类)
views:存放视图
scripts:存放控制器对应的视图文件
docs:项目文档
library:存放zf库目录
public:可以公开访问的资源(图片/cs/js..)
2. 在浏览器中输入域名www.MyProject.com(在《php zend framework框架配置(1)》中以配置),由于在虚拟主机中将根目录配置到 public 目录下,配置了首页面index.php,且通过 .htaccess 文件的重写规则,所以所有的请求首先必须进入到 public 下的 index.php
index.php代码:
<?php
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
$paths = array(realpath(APPLICATION_PATH . '/../library'));
if (function_exists('zend_deployment_library_path') && zend_deployment_library_path('Zend Framework 1')) {
$paths[] = zend_deployment_library_path('Zend Framework 1');
}
$paths[] = get_include_path();
set_include_path(implode(PATH_SEPARATOR, $paths));
/** Zend_Application */
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap()
->run();
index.php是zf的入口文件,主要进行一些路径、环境的初始化,并加载、配置 zf 库,然后进入到 Bootstrap.php ,在 Bootstrap.php 中进行一些启动初始化(如连接数据库等)、合法性验证和过滤等,通过run()函数调用默认的控制器,即controllers下的 IndexController.php, 控制器接着调用视图中 scripts 下的index.phtml
这里输入www.MyPriject.com默认就是www.MyPriject.com/index/index (第一个 index 表示控制器名,第二个表示该控制器下的 indexAction 方法)