ThinkPHP5第一次亲密接触

先下载tp5点此进入官网下载

修改虚拟主机我安装的是xampp
1. 修改域名,进入C:\Windows\System32\drivers\etc 修改hosts最下面的127.0.0.1 后面的localhost,改成你想要修改成的额域名,比如修改成www.demo.com,你运行起ApaChe,在浏览器输入www.demo.com 相当于你输入localhost
2. 修改虚拟主机配置,目的是你浏览器访问上面修改完的域名www.demo.com后,跳入的具体目录,我的是直接访问tp5的public下的index文件
先进入你安装的xampp下的Apache的目录,然后进入conf下的extra,我的具体路径是C:\xampp\apache\conf\extra,
然后修改httpd-vhosts.conf文件,在最后面加上下面的代码,将你对应要访问的文件和域名输入进去,C:\xampp\htdocs\tp5\public这是我tp5的项目

原来代码

<VirtualHost *:80>
    DocumentRoot "C:\xampp\htdocs"
    ServerName localhost
    <Directory "C:\xampp\htdocs">
        Options Indexes FollowSymLinks

        AllowOverride All

        Require all granted
    </Directory>
</VirtualHost>

修改完后的代码

<VirtualHost *:80>
    DocumentRoot "C:\xampp\htdocs\tp5\public"
    ServerName www.demo.com
    <Directory "C:\xampp\htdocs\tp5\public">
        Options Indexes FollowSymLinks

        AllowOverride All

        Require all granted
    </Directory>
</VirtualHost>

目录结构
application 应用目录,整个网站的核心
1. index 前台目录
a. controller 控制器
b. model 数据模型
c. view 页面
2. admin 后台目录
extend 扩展类库目录
public 静态资源和入口文件
1. static 存放静态资源,比如css,js,img
2. index.php 入口文件
runtime 网站运行临时目录
tests 测试目录
thinkphp TP框架的核心文件
1. lang 语言包
2. library TP核心文件
3. tpl 模板界面
vendor 第三方扩展目录

UR了解http://www.demo.com/index.php/index/index/index
www.demo.com 域名
index.php 入口文件
index 前台
index 控制器
index index方法

注意 我们访问都是直接访问的控制器controller,然后通过控制器来访问model和view,通过浏览器不访问model和view

连接数据库 C:\xampp\htdocs\tp5\application\database.php

开启调试模式 C:\xampp\htdocs\tp5\application\config.php
‘app_debug’ => true,

MVC模式
M model 模型 执行数据库处理
V view 视图 其实就是页面
C controller 控制器 负责逻辑运转

跨控制器调用
例子一:在同一个模块下的控制器互相调用
比如在application下的view模块的controller有两个控制器,一个是Index,另一个是User,我在Index下的useConMet方法里面调用User下的index方法
1.使用new域名

     public function useConMet(){
        $mode=new \app\index\controller\User();
        echo $mode->index();
     }

2.使用use

use app\index\controller\User;
class Index{
    public function useConMet(){
        $mode=new User();
        echo $mode->index();
    }
}

3.使用系统控制器controller

 public function useConMet(){
        $mode=controller('User');
        echo $mode->index();
    }

上面的是在本模块内的跨控制器调用,接下来我们说一下跨模块控制器调用,比如index模块调用admin模块的控制器方法也是以上三种方法,但是写路径不一样
1.使用new域名

$mode=new \app\admin\controller\Index();

2.使用use 改下app后面的路劲

use app\admin\controller\Index as adminIndex;  //由于两个Index命名一样,所以要用as起个别名
class Index                                    //由于两个Index命名一样,所以要用as起个别名
{
    public function useConMet(){
        $mode=new adminIndex();
        echo $mode->index();
    }
}

3.使用系统 controller里面路径要写那个模块的

$mode=controller('admin/Index');

控制器内调用方法 比如在Index控制器内,在useConMet调用demo方法

    class Index
{
    public function index()
    {
        return view();
    }
    public function demo(){
        return '我是前台的demo方法';
    }
    //下面是重点  控制器内调用方法
    public function useConMet(){
        echo $this->demo();            //用this
        echo '</br>';
        echo self::demo();             //用self
        echo '</br>';
        echo Index::demo();            //用类名
        echo '</br>';
        echo action('demo');        //用系统方法
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值