澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

澳门新浦京娱乐场网站:0学学笔记,1功底知识急

1.目录构造:

在前段时间游人如织的MVC框架中,ThinkPHP是四个火速、简单的依据MVC和面向对象的轻量级PHP开采框架,其遵照Apache2开源公约公布,自从诞生以来一贯秉承简洁实用的宏图条件,在有限扶助美好的质量和至简的代码的同一时候,极度强调开辟体验及易用性,而且具有广大的原创功效和天性,为WEB应用开荒提供了苍劲的支撑。是好些个PHP开辟人士的首荐。本文就ThinkPHP3.1根基知识做一简述。

澳门新浦京娱乐场网站:0学学笔记,1功底知识急忙入门_php实例_脚本之家。前方的话

  ThinkPHP是四个免费开源的,快捷、轻松的面向对象的轻量级PHP开荒框架,是为了敏捷WEB应用开辟和简化集团应用开辟而诞生的。ThinkPHP从降生以来一向秉承简洁实用的规划标准,在维系完美的天性和至简的代码的还要,也重申易用性。遵循Apache2开源许可左券发表,意味着能够无需付费使用ThinkPHP,以致同意把依照ThinkPHP开辟的应用开源或商业产品揭橥/出售。ThinkPHP5.0版本是叁个倾覆和重构版本,采纳崭新的架思忖想,引进了越来越多的PHP新特点,优化了主导,裁减了依靠,达成了确实的惰性加载,补助composer,并针对API开荒做了多量的优化,富含路由、日志、卓殊、模型、数据库、模板引擎和验证等模块都曾经重构,不相符原有3.2品类的升级,但相对是新类型的首要推荐

 

澳门新浦京娱乐场网站 1

1.目录构造

目录布局

  thinkphp5安装到位后,开端目录构造如下所示

www  WEB部署目录(或者子目录)
├─application           应用目录
│  ├─common             公共模块目录(可以更改)
│  ├─module_name        模块目录
│  │  ├─config.php      模块配置文件
│  │  ├─common.php      模块函数文件
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  └─ ...            更多类库目录
│  │
│  ├─command.php        命令行工具配置文件
│  ├─common.php         公共函数文件
│  ├─config.php         公共配置文件
│  ├─route.php          路由配置文件
│  ├─tags.php           应用行为扩展定义文件
│  └─database.php       数据库配置文件
│
├─public                WEB目录(对外访问目录)
│  ├─index.php          入口文件
│  ├─router.php         快速测试文件
│  └─.htaccess          用于apache的重写
│
├─thinkphp              框架系统目录
│  ├─lang               语言文件目录
│  ├─library            框架类库目录
│  │  ├─think           Think类库包目录
│  │  └─traits          系统Trait目录
│  │
│  ├─tpl                系统模板目录
│  ├─base.php           基础定义文件
│  ├─console.php        控制台入口文件
│  ├─convention.php     框架惯例配置文件
│  ├─helper.php         助手函数文件
│  ├─phpunit.xml        phpunit配置文件
│  └─start.php          框架入口文件
│
├─extend                扩展类库目录
├─runtime               应用的运行时目录(可写,可定制)
├─vendor                第三方类库目录(Composer依赖库)
├─build.php             自动生成定义文件(参考)
├─composer.json         composer 定义文件
├─LICENSE.txt           授权说明文件
├─README.md             README 文件
├─think                 命令行入口文件

 

其中thinkphp子目录是框架宗旨目录

ThinkPHP最新版本能够在官网(

支付标准

【目录和文件】

  1、目录不强制标准,驼峰和题诗 下划线形式均支持

  2、类库、函数文件统一以.php为后缀

  3、类的公文名均以命名空间定义,并且命名空间的渠道和类库文件所在路线豆蔻梢头致

  4、类名和类公事名保持大器晚成致,统风流罗曼蒂克使用驼峰法命名(首字母大写)

【函数和类、属性命名】

  1、类的命名选取驼峰法,而且首字母大写,比如 UserUserType,暗中同意无需增多后缀,比如UserController应该直接命名称叫User

  2、函数的命名使用小写字母和下划线(小写字母最初)的秘籍,举例 get_client_ip

  3、方法的命名使用驼峰法,况且首字母小写,比方 getUserName

  4、属性的命名使用驼峰法,並且首字母小写,举个例子 tableNameinstance

  5、以双下划线“__”打头的函数或方法作为法力方法,比如 __call 和 __autoload

【常量和配备】

  1、常量以大写字母和下划线命名,举个例子 APP_PATH和 THINK_PATH

  2、配置参数以小写字母和下划线命名,比方 url_route_on 和url_convert

澳门新浦京娱乐场网站:0学学笔记,1功底知识急忙入门_php实例_脚本之家。【数据表和字段】

  1、数据表和字段选择小写加下划线方式命名,并在乎字段名不要以下划线领头,例如 think_user 表和 user_name字段,不提出接收驼峰和国语作为数据表字段命名

 

thinkphp结构:

├─ThinkPHP.php 框架入口文件 ├─Common 框架公共文件 ├─Conf 框架配置文件 ├─Extend 框架扩展目录 ├─Lang 核心语言包目录 ├─Lib 核心类库目录 │ ├─Behavior 核心行为类库 │ ├─Core 核心基类库 │ ├─Driver 内置驱动 │ │ ├─Cache 内置缓存驱动 │ │ ├─Db 内置数据库驱动 │ │ ├─TagLib 内置标签驱动 │ │ └─Template 内置模板引擎驱动 │ └─Template 内置模板引擎 └─Tpl 系统模板目录

广大概念

ThinkPHP5.0动用基于MVC(模型-视图-调控器)的格局来公司。上边是黄金年代对遍布概念

【入口文件】

  顾客央浼的PHP文件,担任管理三个呼吁(注意,不确定是UEnclaveL恳求)的生命周期,最分布的输入文件正是index.php,不经常候也会为了一点特殊的必要而充实新的入口文件,举个例子给后台模块单独设置的二个输入文件admin.php照旧三个调节器程序入口think都归于入口文件

【应用】

  应用在ThinkPHP中是三个拘系体系构造及生命周期的靶子,由系统的 thinkApp类成就,应用普通在输入文件中被调用和推行,具备相仿的运用目录(APP_PATH)的应用我们以为是同叁个利用,但叁个接纳大概存在几个输入文件。应用具有本身单身的结构文件、公共(函数)文件

【模块】

  叁个天下第一的应用是由多少个模块组成的,这几个模块常常都以运用目录下边包车型客车一个子目录,每种模块都有温馨单身的配置文件、公共文件和类库文件

【控制器】

  每一种模块拥有独立的MVC类库及布署文件,贰个模块下边有八个控制器肩负响应央浼,而各类调整器其实正是一个单独的决定器类。

  调整器主要担当央求的收到,并调用相关的模型管理,并最终经过视图输出。严苛来讲,调节器不应该过多的到场业务逻辑管理

  叁个优质的Index支配器类如下:

namespace appindexcontroller;
class Index 
{
    public function index()
    {
        return 'hello,thinkphp!';
    }
}

【操作】

  叁个调整器满含五个操作(方法),操作方法是一个UEscortL访问的小不点儿单元。

  上边是贰个标准的Index调控器的操作方法定义,包括了七个操作方法:

namespace appindexcontroller;
class Index 
{
    public function index()
    {
        return 'index';
    }
    public function hello($name)
    {
        return 'Hello,'.$name;
    }
}

  操作方法能够不应用别的参数,要是定义了二个非可选参数,则该参数必需通过顾客必要传入,即便是UMuranoL央求,则日常是$_GET或者$_POST方法传入

【模型】

  模型类日常完毕实际的事体逻辑和数据封装,并赶回和格式毫不相关的数量

【视图】

  调控器调用模型类后重返的多少经过视图组装成分化格式的输出。视图根据不一样的须求,来调控调用模板引擎实行内容解析后输出依然直接出口。

  视图常常会有朝气蓬勃多级的模版文件对应分歧的调节器和操作方法,并且支持动态设置模板目录

【驱动】

  系统广大的构件都接收驱动式设计,进而得以越来越灵活的恢弘,驱动类的岗位暗许是放入大旨类库目录上面,也得以另行定义驱动类库的命名空间而校订驱动的文书地点

【行为】

  行为(Behavior)是在初期定义好的叁个应用地点执行的有的操作。相像于AOP编制程序中的“切面”的概念,给某三个断面绑定相关行为就成了大器晚成连串AOP编制程序的构思。所以,行为平时是和某些地点相关,行为的推行时间依赖于绑定到了哪个岗位上。

  要实实行为,首先要在应用程序中开展行为侦听,举例:

// 在app_init位置侦听行为
thinkHook::listen('app_init');

  然后对某些地方进行行为绑定:

// 绑定行为到app_init位置
thinkHook::add('app_init','appindexbehaviorTest');

  叁个职责上风流倜傥经绑定了三个展现的,依据绑定的依次依次推行,除非碰着抛锚

【命名空间】

ThinkPHP5采用了PHP的命名空间扩充类库文件的布置性和安顿,而且切合PSR-4的自动加载标准、

 

澳门新浦京娱乐场网站 2

小心,框架的共用入口文件ThinkPHP.php是无法间接实行的,该公文只可以在档期的顺序入口文件中调用技艺符合规律运转,这是不计其数生手相当轻便犯的叁个破绽超级多。

入口文件

ThinkPHP5.0本子的暗许自带的入口文件坐落于public/index.php(实际安插的时候public目录为使用对外访谈目录),入口文件内容如下:

// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';

  这段代码的功力正是概念应用目录APP_PATH和加载ThinkPHP框架的进口文件,那是统筹基于ThinkPHP支付使用的首先步

  官方提供的默许使用的实际上目录结商谈注脚如下:

├─application           应用目录(可设置)
│  ├─index              模块目录(可更改)
│  │  ├─config.php      模块配置文件
│  │  ├─common.php      模块公共文件
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  └─view            视图目录
│  │
│  ├─command.php        命令行工具配置文件
│  ├─common.php         应用公共文件
│  ├─config.php         应用配置文件
│  ├─tags.php           应用行为扩展定义文件
│  ├─database.php       数据库配置文件
│  └─route.php          路由配置文件

5.0本子接收模块化的希图结构,默许的选择目录上边独有一个index模块目录,倘诺要增多新的模块能够接收调节台命令来变化。

  切换成命令行格局下,步向到使用根目录并施行如下指令:

php think build --module demo

  就能转变叁个暗中认可的demo模块,包蕴如下目录构造:

├─demo   
│  ├─controller      控制器目录
│  ├─model           模型目录
│  ├─view            视图目录
│  ├─config.php      模块配置文件
│  └─common.php      模块公共文件

  相同的时候也会转移二个私下认可的Index调控器文件

 

2.入口文本

2.入口文件

能源访谈

  网站的财富文件访问不会耳闻则诵健康的操作访谈,独有当访谈的财富文件空头支票的时候才会深入分析到进口文件,日常就能够提示模块官样文章的不当。

  网址的能源文件经常放入public目录的子目录上边,比如下边是一个提出标准:

public
├─index.php       应用入口文件
├─static                静态资源目录   
│  ├─css      样式目录
│  ├─js         脚本目录
│  └─img      图像目录

  访谈能源文件的UCR-VL路线是:

http://tp5.com/static/css/style.css
http://tp5.com/static/js/common.js
http://tp5.com/static/img/picture.jpg

  如果未有安装域名绑定,而是使用子目录方式访问的话,那么或者的能源访谈地址是:

http://localhost/public/static/css/style.css
http://localhost/public/static/js/common.js
http://localhost/public/static/img/picture.jpg

 

暗中同意自带的入口文件坐落于public/index.php

在始发早先,你供给三个Web服务器和PHP运维条件,假设您一时还未曾,我们推荐使用集成开辟情状WAMPServer(是三个合龙了Apache、PHP和MySQL的开荒套件,並且补助七个PHP版本、MySQL版本和Apache版本的切换)来利用ThinkPHP进行地面开拓和测量试验。接下来我们先在WEB根目录上边创造二个app子目录,然后在该目录上边创建三个index.php文件,增添生龙活虎行轻松的代码:

调节和测量试验方式

ThinkPHP支撑调节和测量检验形式,暗许景况下是展开状态(5.0.10 本子在那早先,暗中认可关闭调节和测量试验格局,需求谐和展开)。调试方式以除错方便优先,而且在此些的时候能够体现尽大概多的信息,所以对品质有早晚的影响。

  刚强建议开垦者在采取ThinkPHP支出的长河中动用调节和测验情势,5.0暗许景况下能够捕获到其余眇小的荒唐并抛出十一分,那样能够更加好的获得错误提醒和幸免有个别题目和隐患,不要惧怕错误,要勇于面对,并扑灭隐患。

  开垦到位后,实际举行项目布局的时候,改良应用配置文件(application/config.php)中的app_debug配置参数:

// 关闭调试模式
'app_debug' =>  false,

 

 应用目录为application,其结构:

这行代码的作用就是加载ThinkPHP框架的入口文件ThinkPHP.php,这是所有基于ThinkPHP开发应用的第一步。然后,在浏览器中访问这个入口文件。http://localhost/app/

控制器

  找到index模块的Index调整器(文件坐落于application/index/controller/Index.php 注意分寸写),把Index决定器类的index方法改善为Hello,World!

<?php
namespace appindexcontroller;
class Index
{
    public function index()
    {
        return 'Hello,World!';
    }
}

  访问UCR-VL地址时,就拜访到Hello,World!的出口结果

  倘若要访谈叁个驼峰命名的调控器,比方我们把地点的事例改成三个HelloWorld控制器

<?php
namespace appindexcontroller;
class HelloWorld
{
    public function index($name = 'World')
    {
        return 'Hello,' . $name . '!';
    }
}

  默许情况下正确的情势是利用上面包车型地铁UTucsonL举办拜望

http://tp5.com/index.php/index/hello_world

  下边包车型客车会见地址是错误的

http://tp5.com/index.php/index/HelloWorld

  因为默许的UPRADOL访谈是不区分抑扬顿挫写的,全体都会转移为小写的支配器名,除非在运用配置文件中,设置了关闭url自动转换如下:

'url_convert' => false,

  那么就足以健康访问

http://tp5.com/index.php/index/HelloWorld

  要是要三回九转三个公家的调整器类,能够接收:

<?php

namespace appindexcontroller;

use appindexcontrollerBase;

class Index extends Base
{
    public function index()
    {
        return 'Hello,World!';
    }
}

  可以为操作方法定义参数,比如:

<?php

namespace appindexcontroller;

class Index
{
    public function index($name = 'World')
    {
        return 'Hello,' . $name . '!';
    }
}

  当带name参数访谈入口文件地点(举例 http://tp5.com?name=ThinkPHP)的时候,在浏览器中得以看看如下输出:

Hello,ThinkPHP!

  调节器类能够包罗七个操作方法,但只要操作方法是protected或者private品类的话,是力不能支直接通过ULacrosseL访谈到该操作的,也便是说独有public花色的操作方法才是能够透过UTucsonL访谈的。

  上面来评释下,把Index垄断(monopoly卡塔尔器类的措施改正为:

<?php
namespace appindexcontroller;

class Index
{
    public function hello()
    {
        return 'hello,thinkphp!';
    }

    public function test()
    {
        return '这是一个测试方法!';
    }

    protected function hello2()
    {
        return '只是protected方法!';
    }

    private function hello3()
    {
        return '这是private方法!';
    }
}

  当大家访谈如下U路虎极光L地址的时候,前面五个是健康采访,前面八个则会呈现格外

http://tp5.com/index.php/index/index/hello
http://tp5.com/index.php/index/index/test
http://tp5.com/index.php/index/index/hello2
http://tp5.com/index.php/index/index/hello3

 

澳门新浦京娱乐场网站 3

诚如Web服务器的暗许文件是index.php,所以我们能够没有供给在U宝马X3L地址中丰硕index.php。运转后大家会看出款待页面,

视图

  现在大家在给调控器增加视图像和文字件成效,大家在application/index目录上面创造叁个view目录,然后增多模板文件view/index/hello.html(注意分寸写),大家抬高模板内容如下:

<html>
<head>
<title>hello {$name}</title>
</head>
<body>
    hello, {$name}!
</body>
</html>

  要出口视图,必得在调整器方法中展开模板渲染输出操作,往后修正决定器类如下:

<?php
namespace appindexcontroller;

use thinkController;

class Index extends Controller
{
    public function hello($name = 'thinkphp')
    {
        $this->assign('name', $name);
        return $this->fetch();
    }
}

  [注意]假如没有应用use thinkController;就亟须选取class Index extends thinkController

Index决定器类世袭了 thinkController类之后,大家得以一直动用封装好的assignfetch主意实行模板变量赋值和渲染输出。

fetch情势中我们从不点名其余模板,所以依照系统暗许的平整(视图目录/调节器/操作方法)输出了view/index/hello.html模板文件。

  接下去,大家在浏览器访问

http://tp5.com/index.php/index/index/hello

  输出:

hello,thinkphp!

 

index模块目录布局:

况且早就自动生成了档期的顺序目录,目录构造如下:

读取数据

  在初步此前,大家第风度翩翩在数据库demo中开创一个think_data数据表(这里以mysql数据库为例):

CREATE TABLE IF NOT EXISTS `think_data`(
    `id` int(8) unsigned NOT NULL AUTO_INCREMENT,
    `data` varchar(255) NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ;

INSERT INTO `think_data`(`id`,`data`) VALUES
(1,'thinkphp'),
(2,'php'),
(3,'framework');

  首先大家必要在运用的数据库配置文件application/database.php中增添数据库的连年音信如下:

return [
    // 数据库类型
    'type'        => 'mysql',
    // 服务器地址
    'hostname'    => '127.0.0.1',
    // 数据库名
    'database'    => 'demo',
    // 数据库用户名
    'username'    => 'root',
    // 数据库密码
    'password'    => '',
    // 数据库连接端口
    'hostport'    => '',
    // 数据库连接参数
    'params'      => [],
    // 数据库编码默认采用utf8
    'charset'     => 'utf8',
    // 数据库表前缀
    'prefix'      => 'think_',
    // 数据库调试模式
    'debug'       => true,
];

  接下去,大家修正下调整器方法,加多读取数据的代码:

<?php
namespace appindexcontroller;

use thinkController;
use thinkDb;

class Index extends Controller
{
    public function index()
    {
        $data = Db::name('data')->find();
        $this->assign('result', $data);
        return $this->fetch();
    }
}

  定义好调节器后,大家改良模板文件,添扩展少输出标签如下:

<html>
<head>
<title></title>
</head>
<body>
{$result.id}--{$result.data}
</body>
</html>

  模板标签的用法和Smarty就疑似,正是用来出口数据的字段,这里就表示输出think_data表的iddata字段的值。

  我们访谈会输出:

1--thinkphp

 

澳门新浦京娱乐场网站 4

├─index.php 项目入口文件 ├─Common 项目公共文件目录 ├─Conf 项目配置目录 ├─Lang 项目语言目录 ├─Lib 项目类库目录 │ ├─Action Action类库目录 │ ├─Behavior 行为类库目录 │ ├─Model 模型类库目录 │ └─Widget Widget类库目录 ├─Runtime 项目运行时目录 │ ├─Cache 模板缓存目录 │ ├─Data 数据缓存目录 │ ├─Logs 日志文件目录 │ └─Temp 临时缓存目录 └─Tpl 项目模板目录

Index为调整器文件;

假若您期待项目标入口文件移动到app目录的外侧,那么只供给修正入口文件index.php的剧情为:

3.控制器:

APP_NAME和APP_PATH分部用于定义项目名和项目目录,项目名通常就是指项目的目录名称。移动并修改完项目的入口文件后,我们就可以通过http://localhost/

找到index模块的Index控制器;

访谈app项目了。当然你也足以在Web根目录下边成立七个子目录来布置八个门类。

澳门新浦京娱乐场网站 5

3.调节和测验格局

找到index模块的Index控制器

ThinkPHP的运行方式包罗调节和测验形式和铺排方式,默许景况下是运作在构造格局上面。安插情势上面品质优先,并且尽只怕少地抛出错误音信,调节和测量检验方式则以除错方便优先,关闭其余缓存,何况尽量多的抛出错误音信,所以对品质有自然的震慑。陈设方式选取了等级次序编译机制,第三遍运营会对骨干和品种有关文书进行编写翻译缓存,由于编写翻译后会影响开荒进程中对安顿文件、函数文件和数据库修改的见到效果(除非您改改后手动清空Runtime下边包车型大巴缓存文件)。因此为了幸免上述难点,大家生硬建议新手在运用ThinkPHP开辟的历程中运用调节和测验形式,那样能够越来越好的获得错误提示和防止有些无需的难题和窝火。开启调节和测量检验方式很简单,大家只供给在进口文件的发端加上风度翩翩行常量定义代码:

澳门新浦京娱乐场网站 6

开发完成后,我们实际进行项目部署的时候,删除这行常量定义代码即可,或者改成:define; // 关闭调试模式

 

4.配置

去把重回值变为helloworld

各类品种都有叁个独门的配备文件(坐落于项目目录的Conf/config.php),配置文件的定义格式均接受PHP再次回到数组的点子,比如:

澳门新浦京娱乐场网站 7

// 项目配置文件 return array( '配置参数' => '配置值', // 更多配置参数 //... );

 访问:

就算有要求,大家就足以在档案的次序布署文件中加多相关安插项目。日常我们关系的增加配置项目,正是指在项目配置文件中丰盛:

澳门新浦京娱乐场网站 8

'配置参数' => '配置值', 

观察输出结果!

配置值能够协助包括字符串、数字、布尔值和数组在内的数量,常常大家建议配置参数均使用大写定义。假使有要求,大家还足以为品种概念别的的布署文件。

4.数码的读取:

5.控制器

数据库:

急需为各样模块定义贰个决定器类,调整器类的命名标准是:模块名 Action.class.php 系统的暗中同意模块是Index,对应的调节器就是项目目录上面包车型地铁Lib/Action/IndexAction.class.php,类名和文书名相通。暗中同意操作是index,也正是调控器的八个public方法。初次生成项目目录构造的时候,系统已经暗中同意生成了二个默认调节器,大家把index方法改成上面包车型客车代码:

澳门新浦京娱乐场网站 9

class IndexAction extends Action { public function index(){ echo 'hello,world!'; } }

 

调节器必须世襲Action类,三个模块能够总结五个操作方法。如若您的操作方法是protected恐怕private类型的话,是心有余而力不足直接通过ULacrosseL访谈到该操作的。

 需求在利用的数据库配置文件application/database.php中增添数据库的连续几日音信如下:

6.URL请求

<?php

return [

    'type'           => 'mysql',         // 数据库类型   
    'hostname'       => '127.0.0.1',     // 服务器地址   
    'database'       => 'outengcms',     // 数据库名
    'username'       => 'root',     // 用户名
    'password'       => 'root',     // 密码
    'hostport'       => '3306',             // 端口
    'dsn'            => '',                 // 连接dsn
    'params'         => [],                 // 数据库连接参数   
    'charset'        => 'utf8',             // 数据库编码默认采用utf8   
    'prefix'         => 'think_',         // 数据库表前缀   
    'debug'          => true,             // 数据库调试模式  
    'deploy'         => 0,                 // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)   
    'rw_separate'    => false,             // 数据库读写是否分离 主从式有效   
    'master_num'     => 1,                 // 读写分离后 主服务器数量  
    'slave_no'       => '',                 // 指定从服务器序号   
    'fields_strict'  => true,             // 是否严格检查字段是否存在   
    'resultset_type' => 'array',         // 数据集返回类型 array 数组 collection Collection对象   
    'auto_timestamp' => false,             // 是否自动写入时间戳字段  
    'sql_explain'    => false,             // 是否需要进行SQL性能分析
];

进口文件是连串的纯净入口,对品种的兼具央浼都定向到花色的输入文件,系统会从U卡宴L参数中剖析当前恳请的模块和操作,大家早前访谈的URAV4L地址中绝非其他参数,因而系统会访问默许模块,由此下边包车型地铁拜望和前边是生龙活虎律的:

接下去,大家改革下调节器方法,增多读取数据的代码:

http://localhost/app/index.php/Index/index
<?php
namespace appsilinglingcontroller;
use thinkController;
//
use thinkDb;
class Index extends Controller
{

    public function _empty($name)
    {
        return $this->fetch('/Public/404');
    }

     public function tianjia($code='')
{

    if(!captcha_check($code)) {
            $this->error('验证码错误');            
        }
//
//    echo 111111111;
////添加数据库1
    else {

        $naa = $_POST["naa"];
        $tel = $_POST["tel"];
        //留言联系我们
        Db::table('think_shenqing')
        ->data(['naa'=>$naa,'tel'=>$tel])
        ->insert();
         $this->success('添加成功','index');
        }


//        
//        
        }

}

这种U奇骏L形式正是系统暗许的PATHINFO格局,不一样的U普拉多L情势拿到模块和操作的法门不一样,ThinkPHP扶植的U讴歌RDXL方式有多样:普通格局、PATHINFO、REWTiguanITE和相配形式。

调整器写好后,间接校勘模版文件,用竹签彰显就足以了;

习认为常格局:约等于古板的GET传参格局来钦定当前拜见的模块和操作,比方:

5.URL访问

http://localhost/app/?m=module&a=action&var=value

ThinkPHP利用单风流倜傥入口格局访谈应用,对应用的有所央浼都定向到利用的入口文件,系统会从URL参数中深入分析当前恳求的模块、调节器和操作,上面是贰个行业内部的URL访谈格式:

m参数表示模块,a操作表示操作,后边的代表别的GET参数。

http://serverName/index.php/模块/控制器/操作

PATHINFO模式:是系统的暗中同意UENCOREL格局,提供了最好的SEO支持,系统里面已经做了条件的合营管理,所以能够支持大大多的主机境况。对应上面的U奥迪Q3L形式,PATHINFO格局下边的U昂科雷L访谈地址是:

选用下边包车型地铁子目录称之为模块,模块整体用到小写命名

http://localhost/app/index.php/module/action/var/value/

应用的index模块的Index调控器定义如下:

PATHINFO地址的率先个参数表示模块,第二个参数表示操作。PATHINFO形式下边,UXC90L是可定制的,例如,通过上面包车型大巴配备:

<?php
namespace appsilinglingcontroller;
use thinkController;
//
use thinkDb;
class Index extends Controller
{

    public function _empty($name)
    {
        return $this->fetch('/Public/404');
    }
    public function index()
    {

        return $this->fetch('/Public/index');

    }
     public function index1()
    {
 $list=Db::name('auth_rule')->where('sort', 55)->select();

        $this->assign('list',$list);
//      liucheng
$list3 = Db::name('article')->where('writer',22)->select();
$this->assign('list3',$list3);
//chaxun
$list211 = Db::name('haoma')->where('code'>0)->select();
$this->assign('list211',$list211);
        return $this->fetch('/Public/index1');

    }
}
'URL_PATHINFO_DEPR'=>'-', // 更改PATHINFO参数分隔符

假如大家间接待上访谈入口文件index,因为大家并未有一点名url,所以系统会访谈默许模块(index)下边包车型地铁暗中认可调整器(Index)的私下认可操作方法(index),

大家仍可以够辅助下边的URL访问:

http://localhost/index.php

http://localhost/index.php/index/index/index
这两个连接等效!
http://localhost/app/index.php/module-action-var-value/

应用的index模块的Index调整器定义如下:

REWSportageITE形式:是在PATHINFO形式的底子上增多了重写法规的援救,能够去掉UQashqaiL地址里面的进口文件index.php,不过急需额外布署WEB服务器的重写法则。假设是Apache则须要在输入文件的同级增添.htaccess文件,内容如下:

<?php
namespace applianxicontroller;
use thinkController;
use thinkDb;
class Index extends Controller
{

    public function _empty($name)
    {
        return $this->fetch('/Public/404');
    }
      public function index(){
        return 'index';
    }

    public function hello($name = 'World'){
        return 'Hello,' . $name . '!';
    } 
    }
RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^$ index.php/$1 [QSA,PT,L] 

假设大家一贯访谈入口文件的话,私下认可走的是index方法,

接下去,就足以用上边包车型客车U奔驰G级L地址访问了:

万生机勃勃要访问调整器的hello方法,则需求利用完全的USportageL地址

http://localhost/app/module/action/var/value/

澳门新浦京娱乐场网站 10

合作格局:是用于不支持PATHINFO的非常条件,USportageL地址是:

出口的是:

http://localhost/app/?s=/module/action/var/value/

由于name参数为可选参数,连接这样输:

卓殊方式同盟Web服务注重写准绳的概念,能够完结和REW奥迪Q7ITE情势相符的U昂CoraL效果。

7.视图

 输出:

ThinkPHP内置了三个编写翻译型模板引擎,也支撑原生的PHP模板,並且还提供了归纳斯马特y在内的模板引擎驱动。和Smarty分歧,ThinkPHP在渲染模板的时候假使不内定模板,则会选取系统暗中认可的一定法规,其定义标准是 Tpl/模块名/操作名.html,所以,Index模块的index操作的私下认可模板文件坐落于项目目录下边包车型地铁Tpl/Index/index.html。比方:

6.模板渲染输出:
  hello {$name}   hello, {$name}!  

出口当前模块下的index模板:

要出口视图,必需在调控器方法中开展模板渲染输出操作,举个例子:

  1. // 钦命模板输出

  2. $this->display('index');

class IndexAction extends Action { public function index(){ $this->name = 'thinkphp'; // 进行模板变量赋值 $this->display(); } }

输出User模块下边包车型客车read模板:

display方法中我们一贯不点名别的模板,所以遵照系统暗许的平整输出了Index/index.html模板文件。接下来,大家在浏览器中输入

 

http://localhost/app/

hello,thinkphp!
  1. $this->display('User:read');

8.读取数据

出口模板时钦定编码和花色:

在起来在此之前,我们第意气风发在数据库thinkphp中创立叁个think_data数据表:

  1. // 表示输出XML页面类型(注意:这里能够出口网址地图sitemap.xml哦~~)

  2. $this->display('read', 'utf-8', 'text/xml');

CREATE TABLE IF NOT EXISTS `think_data`  unsigned NOT NULL AUTO_INCREMENT, `data` varchar NOT NULL, PRIMARY KEY  ENGINE=MyISAM DEFAULT CHARSET=utf8 ;INSERT INTO `think_data`  VALUES , , ;

总计一下,ThinkPHP的模版渲染能够设置编码类型及出口文件的门类!

举个例子大家需求读取数据库中的数据,就须要在类型安顿文件中增添数据库连接音信如下:

 

// 添加数据库配置信息 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => 'localhost', // 服务器地址 'DB_NAME' => 'thinkphp', // 数据库名 'DB_USER' => 'root', // 用户名 'DB_PWD' => '', // 密码 'DB_PORT' => 3306, // 端口 'DB_PREFIX' => 'think_', // 数据库表前缀

'DB_DSN' => 'mysql://root@localhost:3306/thinkphp'
 

使用DB_DSN格局定义能够简化配置参数,DSN参数格式为:数据库类型://用户名:密码@数据库地址:数据库端口/数据库名要是三种配备参数同期存在的话,DB_DSN配置参数优先。

接下去,大家改善下调控器方法,加多读取数据的代码:

class IndexAction extends Action { public function index; // 实例化Data数据模型 $this->data = $Data->select; } }

此地运用了M函数,是ThinkPHP内置的实例化模型的不二秘籍,并且用M方法实例化模型没有要求成立对应的模子类,你能够领会为M方法是平素在操作底层的Model类,而Model类具有宗旨的CU汉兰达D操作方法。M 实例化后,就足以对think_data数据表(think_ 是大家在项目配置文件中定义的数据表前缀)举行操作了,M函数的用法还应该有众多,大家以后会浓重通晓。定义好调控器后,大家改进模板文件,加多数量输出标签如下:

  Select Data    {$vo.id}--{$vo.data}

volist标签是停放模板引擎用于出口数据集的价签。{$vo.id} 和 {$vo.data} 的用法和斯Matty相近,便是用来出口数据的字段,这里就表示输出think_data表的id和data字段的值。大家访问

http://localhost/app/

1--thinkphp2--php3--framework

假如发生错误,检查你是还是不是张开了调节和测验格局或许清空Runtime目录上面的缓存文件。借使您看来了上边的输出结果,那么至此你早已精通了ThinkPHP入门的功底知识!

总结:

本篇大家上学了ThinkPHP的目录构造、U凯雷德L形式,怎么样成立项目标入口文件和开启调试方式,以至调控器、模板和模型的底蕴认知。

本文由澳门新浦京娱乐场网站发布于www.146.net,转载请注明出处:澳门新浦京娱乐场网站:0学学笔记,1功底知识急