为了账号安全,请及时绑定邮箱和手机立即绑定

快速入门ThinkPHP 5.0--基础篇

难度中级
时长 5小时20分
学习人数
综合评分9.63
150人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  •  namespace app\index\controller;

        use app\common\controller\User as commonUser;

        

        class User extends commonUser

        {

            public function demo()

            {

                return $this->showName("imooc");

            }

        }


    查看全部
    1 采集 收起 来源:模块设计

    2018-08-29

  • 若index(前台)和admin(后台)模块有共同的操作(执行的方法),即可在app下创建common(公用)模块。

    若项目需要自定义或者修改TP默认的配置,则在app同级目录下创建conf文件夹,conf下创建config.php的文件。直接返回配置数组,如需添加或者修改某项配置,则直接在数组里面配置即可完成。

    查看全部
    1 采集 收起 来源:应用配置

    2018-08-15

  • Config::get() 类::方法 表示 是对类的静态属性和方法的直接引用,不需要实例化类而直接使用。

    获取配置时

    没有use think\Config   就要这样使用$res = \think\Config::get();

    use think\Config  后就可以 $res=config(); 或是 $res = Config::get();


    这节视频使用的Config类都在文件thinkphp\library\think\Config.php中


    查看全部
  • 目录使用小写+下划线

    类的文件名以命名空间定义,且命名空间和类库文件所在的路径一致

    类文件名采用驼峰 首字母大写,其余文件为小写+下划线

    类名和类文件名保持一致,采用驼峰,首字母大写

    函数使用驼峰命名,首字母小写

    属性名采用驼峰,首字母小写

    配置参数以小写字母和下划线

    表和字段采用小写+下划线

    查看全部
  • tp5命名规范一览:

    https://img1.sycdn.imooc.com//5b2a0d420001cfb207560485.jpg


    https://img1.sycdn.imooc.com//5b2a0dbc000120c309030564.jpghttps://img1.sycdn.imooc.com//5b2a0e0d0001c14c06930383.jpg

    https://img1.sycdn.imooc.com//5b2a0e740001ee8508190416.jpg

    查看全部
  • 一个index控制器(类文件),就会对应在view目录下有一个index文件夹;

    index类文件里的每一个方法就会对应在view目录下的index目录下的一个html文件;

    简单的说就是:

    一个类对应view目录下的一个文件夹;

    一个方法对应一个模板页面;我们模板一般都是html页面;

    上面是tp框架默认的架构;

    查看全部
    1 采集 收起 来源:视图view

    2018-06-10

  • (推荐使用)判断标签switch:用法是 {switch name="Think.get.id"} {case value="1|2"}普通会员{/case} {default/}游客 {/switch}

    * 多个值进行判断的时候可以使用| 来隔开

    * 其他情况可以使用默认值标签 default/,记得加斜杠


    判断范围标签{range }{in}{notin}{between}{notbetween}:

    * {range name="Think.get.num" value="1,2,3" type="in"}在1,2,3之间{else/}不在1,2,3之间{/range}

    *  效果等同{in name="Think.get.num" value="1,2,3" }在1,2,3之间 {else/}不在1,2,3之间 {/in}

    * between、notbetween的时候,value只有两个值头尾,区间判断。


    判断常量是否定义 {defined}

    * {defined name="APP_PATH"}定义了{else/}没定义{/defined}


    (不推荐使用)if判断

    * {if condition="($Think.get.num == 1) AND ($Think.get.id == 10)"}等于1和10{else/}都不是{/if}

    * condition里面可以使用and和or


    查看全部
    1 采集 收起 来源:条件判断标签

    2018-06-10

  • 这节讲的内容是smarty模板引擎里面的知识点:变量输出调节器;
    (模板变量调节器(过滤器):可以通过php或tp提供的方法对变量进行处理)
    通过截图中这样的方式,来让我们模板变量使用我们的函数;
    ###号是用来给变量占位的,例如:{$email|substr=###,0,8}
    其实就是substr($email,0,8);这里的###是给$email占位的,但是因为$email在substr()这个函数中位于第一个参数的位置,所以井号可以省略,如果是位于第二个或者第三个....位置的参数,则不可以省略###这个占位符;

    查看全部
  • 模板中可以直接使用系统框架提供的$Think变量,获取来自系统中所有变量的值 模块还支持直接写入php原生代码,但是对维护不利,建议不使用此类操作(在模板中使用原生PHP标签:<?php ?>直接在里面和之前一样写php代码即可。可以使用模板变量,系统变量。但是不建议使用原生,混编维护起来复杂。大多数逻辑在控制器完成。)
    在模板中获取常量:{$Think.const.APP_PATH} 或者 {$Think.APP_PATH},两种方式均可;
     注意.env必须加上PHP_前缀,并且所有字母大写

    查看全部
  • 在模板中使用花括号{$email}最后在编译之后显示的是<?php echo $email; ?>
    这个花括号是框架里面定义的,在配置里面就有;是smarty模板引擎的五配置两方法的一部分;
    花括号和变量之间不能有空格;当引用其他插件,如果和花括号有冲突,可以更改配置;
    编译文件(运行后的文件)在runtime目录下的temp目录下

    查看全部
  • Request.php有更多可供参考

    helper.php中创建函数的方法的值得学习,先判断一下是否存在

    tp5用$rquest->param()获取传递过来的参数,如果参数有重复的情况会覆盖,覆盖的规则如下:pathinfo参数会覆盖post中的参数,post中的参数会覆盖get中的参数。

    1、input助手函数也是获取对象里面的参数. input('传递方式','参数','对参数过滤')

    注意获取请求的参数值,尽可能带上请求的方式,如:input(get.id) ,如果获取的值不存在时,可通过第二个值进行默认值设置,第三个值用来过滤获取的值,例如可将值转换成intval

    2、同时也可以通过request对象下的相关方法获取对应的参数或值,来对值进行相关操作

    <?php
    namespace app\index\controller;
    use think\Request;
    class Index{
    public function index(Request $request){
    //dump($request->param());//param方法会返回post,get,pathinfo传递的所有值,即合并
    //http://localhost/imooc/public/index/index/index/type/5.html?id=10 
    //$res = input('get.id');//10
    //dump($request->get('id'));//10
    //$res = input('post.id','100');//没有则默认100,结果100
    //dump($request->post('id','100'));//100
    //$res = input('post.id','abc','intval');//没有则默认100,结果100
    //dump($request->post('id','100'));//100
    #获取类型
    //'get', 'post',
    //'put', 'patch',
    //'delete', 'param',
    //'request', 'session',
    //'cookie', 'server',
    //'env', 'path', 'file'
    //通过input助手函数对request中参数进行获取,#建议使用request对象(Request $request)#,避免重复定义相同函数
    //$res = input('patch.id');
    //session('emial','987@qq.com');
    //dump(input('session.emial'));
    //dump(input('session.emials','imooc@qq.com'));
    //不存在默认imooc
    session('ss','   123   ');
    $res = $request->session('ss','','trim');//trim过滤前后空格
    dump($res);
    }
    }


    查看全部
    1 采集 收起 来源:input助手函数

    2018-06-09

  • tp是一个单入口框架,所有请求都进入index.php入口文件;我们通过index.php来接受所有http请求(即用户请求),请求中的所有参数,我们都可以通过Request这个对象接受和处理;

    获取请求对象的三种方式:

    1、助手函数

    $request = request( );

    dump($request);//即可打印出请求的对象


    2、使用think下的request类获取实例(单例模式))

    需要先加载request命名空间

    use think\Request;()

    public function index( ){

      $request = Request::instance( );

    dump($request);即可打印出请求的对象

    }

    3、直接注入到方法(建议使用)

    需要先加载request命名空间

    use think\Request;

    在方法中传入request对象参数 如下:

    public function index(Request  $request){

       dump($request);

    }

    单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例;比如Config类,Config::get('key'); Request类,Request::instance( );等等,框架中各自只有这一个类;
    并且单例模式那个类只需要实例化一次,在整个框架下都可以直接使用了

    查看全部
    1 采集 收起 来源:请求对象获取

    2018-06-09

  • 路由:url简化

    步骤:

    1.先在应用配置文件中定义


    conf/config.php配置里设置

    // 是否开启路由

    'url_route_on'  => true,

    // 是否强制使用路由,当开启强制路由,一定要用路由,值为true即为开启

    'url_route_must'=> false

    2.然后再conf文件夹下新建自定义路由文件route.php(文件名称必须为route.php)

      在里面定义规则:

      return ['news/:id' =>'Index/index/index'];

      这时访问index模块下的index控制器下的index方法,并传参数id时,就可以这样localhost/news/5访问就可以


      url()助手函数,当采用路由时,可将页面上的默认访问URL改为路由访问URL。

       即echo url('index/index/index',['id' => 10]);打印出来的结果是 localhost/news/10

       

       

       tp5路由

      1.这里所说的路由是tp5才引入的路由概念

      2.如何在tp5中使用路由

        a.通过配置url_route_on参数(默认为开启),在config.php同级目录下创建route.php文件配置路由规则,如图所述

        b.通过配置url_route_must参数,如果强制开启路由后,那么tp中通过path_info访问的url规则将失效,所有操作的访问都需要在route.php中配置

    查看全部
    1 采集 收起 来源:路由

    2018-06-09

  • 入口文件绑定

    就是说,通过在入口文件(index.php)里设置

    define('BIND_MODULE','admin');//定义此常量,绑定admin模块,这时整个项目,只能访问admin这个模块

    define('BIND_MODULE','admin/index');//绑定admin模块下的index控制器(只允许访问admin模块下的index控制器)

    define('BIND_MODULE','admin/index/index');//绑定admin模块下的index控制器下的index方法(只允许访问admin模块下的index控制器下的index方法)

    可以使用户在访问网站时,只能访问指定模块下的控制器,或者只能访问指定模块下的指定控制器下的指定方法;


    这个功能存在的意义?

    当我们的项目在给第三方对接时,就可以重新定义一个入口文件(比如叫api.php),原本默认的入口文件是index.php依然存在,index.php这个入口文件是供正常用户访问项目的入口文件;

    通过定义一个新的入口文件来限制第三方访问的模块(比如叫api.php);并且第三方只能通过api.php这个入口文件访问,才能得到他们想要的数据,同时我们一般把第三方想要的数据单独放在一个模块(比如api模块);

    这时可以在api.php里面设置,只允许第三方访问指定模块,或者指定方法;其他模块或者其他方法不允许其访问;


    在public下可创建多个入口文件,可实现不同入口文件访问不同模块。入口文件名与模块文件必须相同,自动访问与之对应的模块。

    这时需要在在conf->config.php 里配置自动绑定 "auto_bind_module"  => true  

    相当于public下api.php文件define("BIND_MODULE","api");

    注意新建的入口文件里面的一些内容是默认的:

    <?php

    // 定义应用目录

    define('APP_PATH', __DIR__ . '/../app/');

    define('CONF_PATH', __DIR__ . '/../conf/');

    // 加载框架引导文件

    require (__DIR__ . '/../thinkphp/start.php');

    ?>

    查看全部
  • 单入口文件的定义: 应用程序所有的http请求都由一个文件接收并由该文件转发到功能代码中

    查看全部
    1 采集 收起 来源:入口文件

    2018-06-09

举报

0/150
提交
取消
课程须知
1、有一定的php基础。 2、对git composer 有一定的了解。 3、本机安装好相应的开发环境 4、最好有一定的mvc 框架的使用经验
老师告诉你能学到什么?
1、框架的搭建 2、目录文件的介绍 3、环境的配置 (开发 测试 线上环境) 4、请求对象和数据请求参数获取 5、相应对象和返回相应类型的数据 6、模板的使用 比较 判断 循环

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!