zoukankan      html  css  js  c++  java
  • tp配置+路由+基本操作

     一、打开apache 的配置文件httpd_conf添加以下代码

    <VirtualHost *:80>
    DocumentRoot "D:wwwroot hinkphppublicindex.php"  #网站运行目录
    ServerName tp.com #域名
    </VirtualHost>
    <VirtualHost *:80>
    DocumentRoot "D:wwwroot hinkphppublicindex.php"
    ServerName w.tp.com
    </VirtualHost>

    如果是Nginx环境的话可以在Nginx.conf中添加

    location/{

      fi(!-e $request_filename){

        rewrite ^(.*)$ /index.php?s=/$1 last;

        break;

       }

    }

    二、生成模块

    1、找到根目录下的build.php配置如下

    // 定义demo模块的自动生成 (按照实际定义的文件名生成)
    'admin' => [
    '__file__' => ['common.php'],
    '__dir__' => ['behavior', 'controller', 'model', 'view'],
    'controller' => ['Index', 'Test', 'UserType'],
    'model' => ['User', 'UserType'],
    'view' => ['index/index'],
    ],
    2、在public目录下index.php文件加入如下代码
    $build= include  '../build.php';
    hinkBuild::run($build);
    3、运行网站此时模块已经生成功,些在删除主放口的代码恢复即可
    --------------------
    三、基本操作
    namespace appindexcontroller; //命名空间
    use thinkController;//引用控制器
    use thinkRequest;//引用request类
    use thinkDb;//引用数据库操作类
    class Index extends Controller
    {
    public function index()
    {
    $param=$this->request->param();//获取$_GET $_POST所有参数
    $data=Db::name("user")->find();//查询user表第一行记录
    $this->assign('data',$data);//赋值数组
    $this->assign('param',$param);//赋值数组
    $this->assign('str','test');//赋值字符
    return $this->fetch();//显示模版页,也可以指定模版页$this->fetch('index2')
    }
    }

     view模块调用方法

    {$str}<br/>
    用户名:{$data['username']}<br/>也可以额头{$data.username}
    ----------------------------
    四、路由规则

    1、地址栏参数解说

    http://tp.com/index/index/index/name/aa

    /index/index/index/name/aa

    index模块/index控制器/index是方法名/个name参数取名/个aa是name参数字段的值

    2、控制器首字母大写,如果是驼峰试在地址栏访问时用下划线,如控制器UserName在地址栏访问用

    /index/user_name/

    3、如果要关掉URL自动转换功能,找到config.php,默认是自动转换URL大小写,关掉的话就用false

    // 是否自动转换URL中的控制器和操作名

    'url_convert' =>false,

    4、第二咱地址访问方式

    http://tp.com/?s=index/index/index//name/aa
    ?s=index模块/index控制器/index是方法名/个name参数取名/个aa是name参数字段的值

    5、配置路由

    找到route.php下添加以下

    'index/[:name]' => ['index/index/index', ['method' => 'get','ext'=>'html']],
    说明:
    访问的时候http://tp.com/index/index.html 省去index/index/index
    其中
    index/[:name]表示参数名[]号表示可选,可有可无,index.html中的html变成了参数字传送过去了

    6、配置路由带参数的

    找到route.php下添加以下

    'url/:year/:month' => ['index/index/url', ['method' => 'get','ext'=>'html'],['name'=>'d{4}','pass'=>'d{2}']],
    说明:
    /:year参数名 /:month参数名 index/index/url路径 ['name'=>'d{4}','pass'=>'d{2}']参数正则限制说明
    ----

    控制器必须要有参数,否则出错
    public  function url($year,$month)
    {
    echo $year.'-'.$month;
    //return $this->fetch('url');
    }
    ----
    访问地址
    http://tp.com/url/2017/10.html 说明 url对因的路由规则名 2017和10被当作控制器方法的参数来传值了


    7、配置地址栏参数分隔
    // pathinfo分隔符
    'pathinfo_depr' => '/', //可以修改成-

    8、在控制器下生成url
    首先引用use thinkUrl;
    public  function url()
    {
    echo url('fun','a=1&b=2');//说明fun是控制器里的方法,a=1&b=2是要参数
    }
  • 相关阅读:
    Redis&PHP的使用安装-windows版
    【JAVA】使用Eclipse依赖生成jar包时,避免最外层同时生成资源文件的配置。
    【ActiveMQ】重写监听
    【ActiveMQ】设置自动重连
    【ActiveMQ】持久化消息队列的三种方式
    【Spring】手动获取spring容器对象时,报no qualifying bean of type is defined
    【监控】使用probe对tomcat服务进行监控
    【前端】使用weinre对手机、微信浏览器页面调试
    【前端】一句命令快速合并压缩 JS、CSS
    【前端】CSS雪碧
  • 原文地址:https://www.cnblogs.com/bk7788/p/7228476.html
Copyright © 2011-2022 走看看