结合thinkphp官网
3.1入门教程和3.2.1技术手册开始对thinkphp进行学习,thinkphp是mvc能够很好地分割各部分。

thinkphp的php执行代码大多是指控制器方法当中实现的,控制器方法可以没有对应的输出模板,如果有则输出模板会以html的形式与方法对应,数据库的操作是大多通过模型实现的。

1.修改项目路径(工作根目录)

thinkphp3.2.1默认工作根目录是/web/Applications

当用户访问

修改项目路径:在根目录下修改index.php

define(‘APP_PATH’,’./application/’);

define(‘APP_PATH’,’./app/’);

访问 自动生成相关文件

根目录下修改:

金沙城中心赌场,define(‘BIND_MODULE’,’Admin’);

// 定义应用目录

define(‘APP_PATH’,’./App/’);

2.在工作根目录文件夹下创建模块

在工作下新建文件夹Admin,并创建空白index.html 在根目录下index.php添加

//添加

define(‘BIND_MODULE’,’Admin’);

// 定义应用目录

define(‘APP_PATH’,’./App/’);

浏览器当中访问: 便可以在admin模块当中自动生成所有的相关文件(类似于同一文件夹下的Home文件夹)

注意要在生成完所有之后注释掉define(‘BIND_MODULE’,’Admin’);

3.thinkphp入口:

thinkphp 3.2.1只有一个默认的入口地址就是index控制器的index方法。

访问

4.thinkphp url

url路径:

模块Home (前台)

模块Admin: (后台)

参数粗传递

thinkphp方法内可以使用U()函数创建URL        U(控制器名/方法)

例如   myurl=U(Index/index)

5.视图view  模板

thinkphp3.2.1当中如果方法要对应着输出html
那么模板的位置在view文件夹下对应的控制器文件夹下的同名html文件夹。

通过$this->display ();启用模板;通过$this->aa =
$bb;实现php到html的变量映射,在html 当中使用{$aa}接收。

例如

/web/App/Home/Controller/IndexController.class.php
里面的univpage()方法:

public function univpage($id) {  $this->univ_id = $id;//变量映射 $this->display ();//启用模板 }

对应的模板位置为/web/App/Home/View/Index/index.html

<html> ................... <body> hello {$univ_id } </body> </html>

访问
 便可以输出id的值10002

6.模型model

模型的作用是用于数据库操作,可以方便简单的实现CURD,而且还可以实现自动获取表单,对提交表单进行自动验证等。

每个项目有一个连接的数据库配置文件,执行CURD命令时调用连接数据库。

每个项目的数据库连接配置都是在每个项目的/common/conf/config.php文件当中,如F:\web\App\Common\Conf\config.php,连接数据库是使用D和M时自动到config.php当中找到相关配置连接数据库。

'DB_DSN' => 'mysql://root:881234@192.168.1.249:3306/univinfo'

例如进行一下实例化操作:

$Data = M('think_data'); // 实例化Data数据模型

系统会自动使用/common/conf/config.php当中的数据库连接文件连接数据库,然后选择其中的think_data表。

当执行实例化对象create()函数时会自动获取表单传递过来的数据,

thinkphp**提交表单:注意提交表单要,使用M()D()**时,一定要注意提交的表单的参数名要和数据库表当中的字段完全一致才能够执行自动匹配。

例如:

模板提交参数

<form action="__URL__/login_submit" method="get"> Name: <input type="text" name="user_name" /> Password: <input type="text" name="user_password" /> <input type="submit" /> </form>

控制器内方法接收传递过来参数

public function register_submit() {   // echo "register_submit()";   $User = M ( 'univ_user_basic_info' ); // 实例化模型   $User->create (); // 获取post提交过来的表单(注意可能只是post可以)   echo $User->user_name;   // dump($User); //展示数据库状况   $User->add (); // 写入数据库   echo "register success";  }

主要思想:
现在php应用很广,大家都在讨论着oop、mvc。本人对这些东西也不太了解,很多地方都不全面,希望大家给予指正。
本框架也是以mvc作指导,运用oop思想,加入了一些静态缓存的方法组合而成。介绍一下几个主要文件:
main.php
是核心程序,包含一个简单的url路由,和一个数据库查询数据缓存功能。
model.php model的实例化 view.php 一个简单的模板引擎 control.php
控制器导航功能说明:1.目前只支持mysql数据库。2.控制器名要有一定的规则,如文件名是xx,那么类名必须是xxControl.3
.model名要有一定的规则,如文件名是xx,那么类名必须是xxModel.4.不能自动识别继承,如有继承操作,需手动include进相关的文件。5.如果是
在linux环境下,\cache\ \template\cache
\template\view\要有读写删权限

版权声明:本文为博主原创文章,未经博主允许不得转载。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图