Power designer 反向工程 通过数据源生成ER图
2013-03-06 18:10
357 查看
1.入口文件ThinkPHP采用单一入口模式进行项目部署和访问,无论完成什么功能,一个项目都有一个统一(但不一定是唯一)的入口。应该说,所有项目都是从入口文件开始的,并且所有的项目的入口文件是类似的,入口文件中主要包括:2定义框架路径、项目路径和项目名称(可选)2定义调试模式和运行模式的相关常量(可选)2载入框架入口文件(必须)首先,在服务器或者本地的Web目录下面创建一个App目录,并且把下载的ThinkPHP框架的ThinkPHP目录拷贝到App目录下面,然后在App目录下面创建一个index.php文件,该文件就是我们要创建项目的入口文件。新版的入口文件更加简化,默认情况下,只需要在该文件中添加一行代码即可:
然后,我们打开浏览器,输入地址并运行:http://localhost/App/就会看到欢迎页面:表示ThinkPHP已经成功执行,这个时候,系统已经在App下面自动生成了项目相关目录,并写入了初始Action。(注意:如果是类Unix或者Linux环境下测试的话,需要对App目录设置可写权限,否则无法自动生成目录结构)入口文件中还可以添加系统或者应用的常量定义,如果我们的项目需要采用其他的模式运行(例如,采用命令行模式运行),那么可以定义MODE_NAME如下:define('MODE_NAME','cli');如果没有在项目入口文件中设置MODE_NAME常量的话,就表示采用系统的标准模式运行。由于模式扩展可以改变底层的运行机制和行为定义,本手册中的内容如无特别说明,功能描述均表示运行于标准模式下面。入口文件并不一定都是指index.php 文件,因为我们可以为不同的项目创建不同的入口文件,例如,前台项目的入口文件为index.php ,后台项目的入口文件可能是admin.php。如果你改变了项目目录(例如把
给THINK_PATH和APP_PATH定义绝对路径会提高系统的加载效率。2.入口文件的其他定义
一般不建议在入口文件中做过多的操作,但可以重新定义一些系统常量,入口文件中支持定义(建议)的一些系统常量包括:
注意:所有路径常量都必须以“/”结尾3.自动生成目录接下来再看原来空的
如果不是调试模式的话,会在Runtime目录下面生成
在自动生成目录结构的同时,在各个目录下面我们还看到了index.html文件,这是ThinkPHP自动生成的目录安全文件。为了避免某些服务器开启了目录浏览权限后可以直接在浏览器输入URL地址查看目录,系统默认开启了目录安全文件机制,会在自动生成目录的时候生成空白的
我们可以在自动生成的Application/Home/Controller目录下面找到一个
本文出自 “小王子” 博客,请务必保留此出处http://littleprince.blog.51cto.com/1491292/1617831
require './ThinkPHP/ThinkPHP.php';
然后,我们打开浏览器,输入地址并运行:http://localhost/App/就会看到欢迎页面:表示ThinkPHP已经成功执行,这个时候,系统已经在App下面自动生成了项目相关目录,并写入了初始Action。(注意:如果是类Unix或者Linux环境下测试的话,需要对App目录设置可写权限,否则无法自动生成目录结构)入口文件中还可以添加系统或者应用的常量定义,如果我们的项目需要采用其他的模式运行(例如,采用命令行模式运行),那么可以定义MODE_NAME如下:define('MODE_NAME','cli');如果没有在项目入口文件中设置MODE_NAME常量的话,就表示采用系统的标准模式运行。由于模式扩展可以改变底层的运行机制和行为定义,本手册中的内容如无特别说明,功能描述均表示运行于标准模式下面。入口文件并不一定都是指index.php 文件,因为我们可以为不同的项目创建不同的入口文件,例如,前台项目的入口文件为index.php ,后台项目的入口文件可能是admin.php。如果你改变了项目目录(例如把
Application更改为
Apps),只需要在入口文件更改APP_PATH常量定义即可:
define('APP_PATH','./Apps/'); require './ThinkPHP/ThinkPHP.php';注意:3.2版本开始无需定义APP_NAME常量。注意:APP_PATH的定义支持相对路径和绝对路径,但必须以“/”结束。如果你调整了框架核心目录的位置或者目录名,只需要这样修改:
define('APP_PATH','./Application/');require './Think/ThinkPHP.php';也可以单独定义一个THINK_PATH常量用于引入:
define('APP_PATH','./Application/'); define('THINK_PATH',realpath('../Think').'/'); require THINK_PATH.'ThinkPHP.php';和APP_PATH一样THINK_PATH路径定义也必须以“/”结尾。
给THINK_PATH和APP_PATH定义绝对路径会提高系统的加载效率。2.入口文件的其他定义
一般不建议在入口文件中做过多的操作,但可以重新定义一些系统常量,入口文件中支持定义(建议)的一些系统常量包括:
常量 | 描述 |
THINK_PATH | 框架目录 |
APP_PATH | 应用目录 |
RUNTIME_PATH | 应用运行时目录(可写) |
APP_DEBUG | 应用调试模式(默认false) |
STORAGE_TYPE | 存储类型(默认为FILE) |
APP_MODE | 应用模式(默认common) |
Application目录下面,已经自动生成了公共模块
Common、默认的
Home模块和
Runtime运行时目录的目录结构:
Application ├─Common 应用公共模块 │ ├─Common 应用公共函数目录 │ └─Conf 应用公共配置文件目录 ├─Home 默认生成的Home模块 │ ├─Conf 模块配置文件目录 │ ├─Common 模块函数公共目录 │ ├─Controller 模块控制器目录 │ ├─Model 模块模型目录 │ └─View 模块视图文件目录 ├─Runtime 运行时目录 │ ├─Cache 模版缓存目录 │ ├─Data 数据目录 │ ├─Logs 日志目录 │ └─Temp 缓存目录如果你不是Windows环境下面的话,需要对应用目录
Application设置可写权限才能自动生成。
如果不是调试模式的话,会在Runtime目录下面生成
common~runtime.php文件(应用编译缓存文件)。4.目录安全文件
在自动生成目录结构的同时,在各个目录下面我们还看到了index.html文件,这是ThinkPHP自动生成的目录安全文件。为了避免某些服务器开启了目录浏览权限后可以直接在浏览器输入URL地址查看目录,系统默认开启了目录安全文件机制,会在自动生成目录的时候生成空白的
index.html文件,当然安全文件的名称可以设置,例如你想给安全文件定义为
default.html可以在入口文件中添加:
define('DIR_SECURE_FILENAME', 'default.html'); define('APP_PATH','./Application/'); require './ThinkPHP/ThinkPHP.php';如果你的环境足够安全,不希望生成目录安全文件,可以在入口文件里面关闭目录安全文件的生成,例如:
define('BUILD_DIR_SECURE', false);5.控制器
我们可以在自动生成的Application/Home/Controller目录下面找到一个
IndexController.class.php文件,这就是默认的Index控制器文件。控制器类的命名方式是:控制器名(驼峰法,首字母大写)+Controller控制器文件的命名方式是:类名+class.php(类文件后缀)默认的欢迎页面其实就是访问的Home模块下面的Index控制器类的index操作方法我们修改默认的index操作方法如下:
namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function index() { echo 'hello,world!'; } }再次运行应用入口文件,浏览器会显示:
hello,world!。我们再来看下控制器类,IndexController控制器类的开头是命名空间定义:
namespace Home\Controller;这是系统的规范要求,表示当前类是Home模块下的控制器类,命名空间和实际的控制器文件所在的路径是一致的,也就是说:
Home\Controller\IndexController类 对应的控制器文件位于应用目录下面的
Home/Controller/IndexController.class.php,如果你改变了当前的模块名,那么这个控制器类的命名空间也需要随之修改。注意:命名空间定义必须写在所有的PHP代码之前声明,否则会出错
use Think\Controller;表示引入 Think\Controller 命名空间便于直接使用。所以,
use Think\Controller;class IndexController extends Controller等同于使用:
class IndexController extends \Think\Controller
本文出自 “小王子” 博客,请务必保留此出处http://littleprince.blog.51cto.com/1491292/1617831
相关文章推荐
- Power designer 反向工程 通过数据源生成ER图
- 【原创】搭建SSH后通过反向工程(Reverse Engineering)自动生成Hibernate Bean实体和Spring Dao对象详解(图文)
- PowerDesigner生成sql和反向工程生成ER图的问题
- mybatis逆向工程通过表反向生成java代码
- PowerDesigner 反向工程生成ER图步骤
- 用POWER DESIGNER 生成MSYQL数据库反向工程
- PowerDesigner生成sql和反向工程生成ER图的问题
- Visio对MySQL数据库反向工程生成ER数据库模型图_百度文库
- 反向工程 通过数据库中的表生成建表视图
- PowerDesigner生成sql和反向工程生成ER图的问题
- PowerDesigner生成sql和反向工程生成ER图的问题
- Visio对MySQL数据库反向工程生成ER数据库模型图
- StartUML反向(逆向)Java工程通过代码生成类图
- 用POWER DESIGNER 生成MSYQL数据库反向工程(.sql-->pdm)及由pdm生成.sql文件
- PowerDesigner生成sql和反向工程生成ER图的问题
- 用powerdesigner 使 pdm生成sql脚本及反向工程生成ER图
- Visio 2010对MySQL数据库反向工程生成ER数据库模型图
- Visio对MySQL数据库反向工程生成ER数据库模型图
- 【Power Designer】反向工程生成类图
- PowerDesigner生成sql和反向工程生成ER图的问题