您的位置:68399皇家赌场 > 集群主机 > ThinkPHP框架基础

ThinkPHP框架基础

发布时间:2019-07-14 02:44编辑:集群主机浏览(183)

    此间作者本身是用地点蒙受的,作者访问的地方是localhost/MVC/index.php/class/function/var1

    此刻,在浏览器中动用方面包车型地铁预约的UCRUISERL进行访问,将收获输出如下:

    1. 在ThinkPHP目录下创建贰个入口文件index.php

    终极一个,访谈root地址看看

    皇家赌场,复制代码 代码如下:

    步骤:

    ok,多少个轻松易行的MVC路由作用就完事了。。。

    假设想赢得更上一层楼赏心悦指标URubiconL结构,可以张开优化,为由那U本田UR-VL结构优化与本文关系相当的小,现在举行分享。

    别的相关框架

    答案也是能够的。。。

     // controller/democontroller.php
     class DemoController
     {
         private $data = 'Hello furzoom!';
         public function index()
         {
         //echo 'hello world';
         require('view/index.php');
         $view = new Index();
         $view->display($data);
         }
     }// End of the class DemoController
     // End of file democontroller.php

             框架能够省去我们50-四分之三的职业量,我们整个旭日初升都集中在工作档案的次序。

    实际路由最大旨的规律就在此间:

    Model(模型),程序接纳效果与利益的落到实处,程序的逻辑的达成。在PHP中担任数据管理,数据变动。

    1. 做客入口文件的同有时间系统会自动把相应的运用目录文件Shop创设出来

    [REQUEST_URI] => /MVC/index.php/class/function/var1
    [SCRIPT_NAME] => /MVC/index.php

    MVC的关键目的是为着缓慢解决Web开采中分离开拓与规划工作,使其职业相对独立。

    【开采、生产形式】

    开拓调试格局:系统需求加载大致二十三个文件  index.php  define(“应用程式_DEBUG”,true);

    生育情势:系统只供给加载非常少的大约7个文本在进口文件

    index.php中定义: define(“APP_DEBUG”,false);

    节约了广大文书的支出、关闭的系统开垦,节省能源

    皇家赌场 1

    <?php 
    class Index 
    { 
    function welcome() 
    { 
    echo ‘I am default controller'; 
    } 
    } 
    ?> 
    hello.php
    <?php 
    class Hello 
    { 
    public function index() 
    { 
    echo ‘hello world'; 
    } 
    public function name($name) 
    { 
    echo ‘hello ‘ . $name; 
    } 
    } 
    ?>
    

    从地点的参数能够看到,访谈的文件是index.php,同不平日候含有3个参数分别为c、a、param。

             一群代码的集合,里边有变量、函数、类、常量,里边也会有大多设计情势MVC、A帕杰罗数据库、单例等等。

    小编贴出最关键的2个变量

    Controller(调节器),担负转载呼吁,对央浼管理。在PHP中依据央求决定调用的视图及使用的多寡。

    【调整器和对应措施创立】

    调整器是MVC形式中的宗旨,tp暗许有三个Index调控器:

    皇家赌场 2

    Index调整器里面有叁个操作方法:Index

    皇家赌场 3

     

    我们在访谈进口文件的时候,会暗许访问Index调整器下边包车型大巴Index方法

     

    比如要和睦成立三个调整器Login:

    1. 在ShopHomeController文件夹下新建一个调节器文件LoginController.class.php

    留心:文件命名法则,依照驼峰法命名

    IndexController.class.php首字母大写

         2.开发该文件,在里边造调节器Login类

     皇家赌场 4

     

         3.要是要自定义操作方法,在调节器Login类里面加三个函数Login():

     皇家赌场 5

     

    这么大家就到位了调节器和操作方法的树立,纵然要访谈大家刚刚的Login调节器下的Login方法:

     皇家赌场 6

     

         4.调整器中只要要调用视图层中的模板:

     皇家赌场 7

    如此重复做客,会发觉报错:

     皇家赌场 8

    案由:模板文件并未有开创,那时候大家将要去创造模板文件

    由此那2个变量来领取url地址里的class 和 function,参数等,然后把class include进来,通过PHP的回调函数call_user_func_array 调用对应的function和传递相应的参数。

     // controller/democontroller.php
     class DemoController
     {
         // private $data = 'Hello furzoom!';
         function index($param)
         {
         // echo 'hello world';
             require('view/index.php');
         require('model/model.php');
         $model = new Model();
         $view = new Index();
         $data = $model->getData($param);
         $view->display($data);
         }
     }// End of the class DemoController
     // End of file democontroller.php

    【框架项目配置】

    <?php 
    # 定义application路径 
    define(‘APPPATH', trim(__DIR__,'/')); 
    # 获得请求地址 
    $root = $_SERVER['SCRIPT_NAME']; 
    $request = $_SERVER['REQUEST_URI']; 
    $URI = array(); 
    # 获得index.php 后面的地址 
    $url = trim(str_replace($root, ”, $request), ‘/'); 
    # 如果为空,则是访问根地址 
    if (empty($url)) 
    { 
    # 默认控制器和默认方法 
    $class = ‘index'; 
    $func = ‘welcome'; 
    } 
    else 
    { 
    $URI = explode(‘/', $url); 
    # 如果function为空 则默认访问index 
    if (count($URI) < 2) 
    { 
    $class = $URI[0]; 
    $func = ‘index'; 
    } 
    else 
    { 
    $class = $URI[0]; 
    $func = $URI[1]; 
    } 
    } 
    # 把class加载进来 
    include(APPPATH . ‘/' . ‘application/controllers/' . $class . ‘.php'); 
    #实例化 
    $obj = new ucfirst($class); 
    call_user_func_array( 
    # 调用内部function 
    array($obj,$func), 
    # 传递参数 
    array_slice($URI, 2) 
    ); 
    

    到现在PHP的MVC情势已经主导介绍完了了,剩余的办事便是依照须求实行加多扩张了,很简短吗!!

     皇家赌场 9

    再试试不输入function name,看看能或不能够暗中同意调用index。。

    复制代码 代码如下:

    【系统常量音讯】

    获得系统常量音讯:

    皇家赌场 10

    假使加参数true,会分组彰显:

    var_dump(get_define_constants(true));

    皇家赌场 11

    下一场访问 以下地点试试。

    复制代码 代码如下:

     

    接下去上代码,读代码应该比自身写的通俗。哈哈~~

    localhost/index.php?c=abc

     皇家赌场 12

    先是篇先来简单题的,说说MVC框架的路由功效。。。

    接着,规划MVC的目录结构如下:

    创办入口文件:

    诚如的单入口框架路由都以那般的布局:

    Welcome to furzoom.com
    如下图:

    1. 打开Home文件夹

    print_r($_SERVER);

    倘若利用上面包车型客车U中华VL进行访谈,能够预感不会有任何输出。

    【视图模板文件成立】

    视图模板文件寄存发地方在:

    皇家赌场 13

    里头没有模板文件

    只要咱们想要访问Login调节器中的Login方法,首先大家要创制一个Login调节器对应的模板文件夹,该公文夹就对应着Login调节器:

    皇家赌场 14

    接下来在Login文件夹下再创制一个login.html的模版文件来对应Login调控器下的Login方法:

    皇家赌场 15

    在login.html里面写入要显得的代码:

    <body>
    <h1>hello login</h1>
    </body>
    

    接下来再一次恳请:

    皇家赌场 16

     

    Talk is cheap, show you the code !!

    复制代码 代码如下:

    【MVC模式】

    M:Model 数据模型层,担负数据操作

    V:View 视图层,担任呈现视图

    C:Controller 调整器,完毕职业逻辑

     

    index.php 用于作为暗中同意调整器

    localhost/index.php?c=demo&a=index¶m=welcome

    【调整器访谈及路由深入分析】

    经过url地址get参数找到钦点的调整器,并展开相应措施调用须求

    以上url地址新闻代码非常不够优雅、不安全。

    皇家赌场 17
    tp框架url地址能够由以下种种

    1.    基本get模式
    2. http://网站/index.php/模块/控制器/操作方法路径形式pathinfo(暗中认可)
    3. http://网站/模块/调控器/操作方法           rewrite重写方式
    4. http://网址/index.php?s=/模块/控制器/方法相称方式

     

    action:操作,放在调控器里面包车型地铁方法

    事先访谈的办法:访谈的求实页面

    MVC访谈的章程:拜会调整器下的操作(方法),不是一个切实可行页面

     

    现实url地址形式设置(配置文件ThinkPHP/Conf/convertion.php)

    URL_MODEL  =  0/一半/3  分别代表二种url地址形式

     皇家赌场 18

    config.php是大家当下和好项指标配置文件,大家得以经过修改该文件达到布局变量的目录

    其一文件在系统运作进度中会覆盖convertion.php的安插变量

    include “convertion.php”;

    include “config.php”;  后引进的文本要把先引进的文本配置变量给覆盖掉

    MVC:约定胜于配置

     

    咱俩系统有卓越4中url地址方式的采用

    系统部分时候会自行创设url地址,它会遵照近年来方式开始展览url地址创造使用

    急迅函数U();  创造url地址

     皇家赌场 19

    通过url地址格局大家上学到了以下内容:

    1. 咱俩上学到了陈设变量(核心配置变量conversion.php、当前利用配置变量config.php)
    2. 火速函数U(“模块/调控器/方法”)  遵照参数和url情势创立对应的url地址
    3. 把框架的形式调度为支付调节和测量检验格局

    index.php 的剧情如下

    为何使用MVC

     

    测验一向下探底望,能还是不可能访问了。分部方的路由结构。我们来试试

    在调控器中定义了一个data私有变量,index()方法不再直接出口,而是利用视图对象处理输出。此时,按上面包车型大巴预订的U瑞鹰L进行拜谒时,将看到输出:

     

    domain/index.php/classname/functionname/var1/var2

    复制代码 代码如下:

    皇家赌场 20皇家赌场 21

    你可能感兴趣的篇章:

    • php营造属于自个儿的MVC框架
    • PHP的MVC格局达成原理深入分析(一相轻松的MVC框架表率)
    • php完成最简易的MVC框架实例教程
    • php完成简单的MVC框架实例
    • 搭建本人的PHP MVC框架详解
    • PHP MVC框架skymvc匡助多文本上传
    • Thinkphp模板中利用自定义函数的主意
    • ThinkPHP模板输出display用法剖判
    • thinkphp模板承接实例简述
    • PHP仿tp实现mvc框架基本布置思路与完成格局剖判

    地点貌似已经很cool了,然而来得怎么的开始和结果是在调节器中一贯钦点的,希望内容也由U中华VL钦命,那样将数据的拍卖交给模型来管理。

    【url地址大小写设置】

    私下认可是不敏感的:

    在config.php里边对url大小写敏感实行设置

    皇家赌场 22

    然并卵!!!

     

    yourdomain/index.php/class/function/var1

    在浏览器中运用方面的预定的U凯雷德L进行拜见,看到输出hello world。当然假诺你须求的U汉兰达L不是那么,而是如下边所示也能获得一致的输出。

    皇家赌场 23

    本文由68399皇家赌场发布于集群主机,转载请注明出处:ThinkPHP框架基础

    关键词: 68399皇家赌场 ThinkPHP框架基础