首页 > 后端开发 > 正文

php框架路由 thinkphp3.1快速入门路由 怎么输出

2023-08-25 20:10:04 | 我爱编程网

php框架路由 thinkphp3.1快速入门路由 怎么输出很多朋友对这方面很关心,我爱编程网整理了相关文章,供大家参考,一起来看一下吧!

php框架路由 thinkphp3.1快速入门路由 怎么输出

请问这种方式的(index.php?g=System&m=Admin&a=insert)路由控制是什么php框架写的?

thinkphp有这种模式 g分组 m控制器 a方法
链接的意思是告诉框架 我要运行System分组下 Admin.class.php文件中的 public function insert()方法
这种模式其实你自己简单的写个路由也可以实现
先get到链接中的所有参数 然后将后面的参数转成数组 按照数组进行调取文件即可

php框架路由 thinkphp3.1快速入门路由 怎么输出

thinkphp3.1快速入门路由 怎么输出

变量输出
例如,在控制器中我们给模板变量赋值:
$name = 'ThinkPHP';
$this->assign('name',$name);
$this->display();

然后就可以在模板中使用:
Hello,{$name}!

模板编译后的结果就是:
Hello,<?php echo($name);?>!

这样,运行的时候就会在模板中显示:
Hello,ThinkPHP!

[-more-]
注意模板标签的{和$之间不能有任何的空格,否则标签无效。所以,下面的标签
Hello,{ $name}!

将不会正常输出name变量,而是直接保持不变输出:
Hello,{ $name}!

普通标签默认开始标记是 {,结束标记是 }。也可以通过设置TMPL_L_DELIM和TMPL_R_DELIM进行更改。例如,我们在项目配置文件中定义:
'TMPL_L_DELIM'=>'<{',
'TMPL_R_DELIM'=>'}>',

那么,上面的变量输出标签就应该改成:
Hello,<{$name}>!

后面的内容我们都以默认的标签定义来说明。
模板标签的变量输出根据变量类型有所区别,刚才我们输出的是字符串变量,如果是数组变量,
$data['name'] = 'ThinkPHP';
$data['email'] = 'thinkphp@qq.com';
$this->assign('data',$data);

那么,在模板中我们可以用下面的方式输出:
Name:{$data.name}
Email:{$data.email}

或者用下面的方式也是有效:
Name:{$data['name']}
Email:{$data['email']}
当我们要输出多维数组的时候,往往要采用后面一种方式。

如果data变量是一个对象(并且包含有name和email两个属性),那么可以用下面的方式输出:
Name:{$data:name}
Email:{$data:email}
或者

Name:{$data->name}
Email:{$data->email}

系统变量
普通的模板变量需要首先赋值后才能在模板中输出,但是系统变量则不需要,可以直接在模板中输出,系统变量的输出通常以{$Think 打头,例如:
{$Think.server.script_name} // 输出$_SERVER['SCRIPT_NAME']变量
{$Think.session.user_id} // 输出$_SESSION['user_id']变量
{$Think.get.pageNumber} // 输出$_GET['pageNumber']变量
{$Think.cookie.name} // 输出$_COOKIE['name']变量

支持输出$_SERVER、$_ENV、 $_POST、 $_GET、 $_REQUEST、$_SESSION和 $_COOKIE变量。
还可以输出常量
{$Think.const.MODULE_NAME}

或者直接使用
{$Think.MODULE_NAME}

输出配置参数使用:
{$Think.config.db_charset}
{$Think.config.url_model}

输出语言变量可以使用:
{$Think.lang.page_error}
{$Think.lang.var_error}

使用函数
我们往往需要对模板输出变量使用函数,可以使用:
{$data.name|md5}

编译后的结果是:
<?php echo (md5($data['name'])); ?>

如果函数有多个参数需要调用,则使用:
{$create_time|date="y-m-d",###}

表示date函数传入两个参数,每个参数用逗号分割,这里第一个参数是y-m-d,第二个参数是前面要输出的create_time变量,因为该变量是第二个参数,因此需要用###标识变量位置,编译后的结果是:
<?php echo (date("y-m-d",$create_time)); ?>

如果前面输出的变量在后面定义的函数的第一个参数,则可以直接使用:
{$data.name|substr=0,3}

表示输出
<?php echo (substr($data['name'],0,3)); ?>

虽然也可以使用:
{$data.name|substr=###,0,3}
复制代码
但完全没用这个必要。

还可以支持多个函数过滤,多个函数之间用“|”分割即可,例如:
{$name|md5|strtoupper|substr=0,3}

编译后的结果是:
<?php echo (substr(strtoupper(md5($name)),0,3)); ?>

函数会按照从左到右的顺序依次调用。
如果你觉得这样写起来比较麻烦,也可以直接这样写:
{:substr(strtoupper(md5($name)),0,3)}

默认值
我们可以给变量输出提供默认值,例如:
{$user.nickname|default="这家伙很懒,什么也没留下"}
复制代码
对系统变量依然可以支持默认值输出,例如:
{$Think.get.name|default="名称为空"}
复制代码
默认值和函数可以同时使用,例如:
{$Think.get.name|getName|default="名称为空"}

使用运算符
我们可以对模板输出使用运算符,包括对“+”“ –” “*” “/”和“%”的支持。
例如:
运算符 使用示例
+ {$a+$b}
- {$a-$b}
* {$a*$b}
/ {$a/$b}
% {$a%$b}
++ {$a++} 或 {++$a}
-- {$a--} 或 {--$a}
综合运算 {$a+$b*10+$c}
在使用运算符的时候,不再支持点语法和常规的函数用法,例如:
{$user.score+10} //错误的
{$user['score']+10} //正确的
{$user['score']*$user['level']} //正确的
{$user['score']|myFun*10} //错误的
{$user['score']+myFun($user['level'])} //正确的

php框架路由 thinkphp3.1快速入门路由 怎么输出

【PHP】laravel中获取当前路由名称

结论: Route类是必须引入的 。所以可以调用静态方法 currentRouteName()。

1 - 为什么不引入Route类也可以运行?

因为Route类是在系统启动时作为全局类进行了注册。

在文件 config/app.php 文件内如下所示:

Route门面此处注册到全局,也就是根命名空间。 所以在程序内,直接使用 Route::method() 不会有任何问题。

我们在编程中,对于全局注册的类,也需要通过此方法,添加注册。

2 - 获取当前路由名称的一些方法举例

使用Route类的方法:

Route::getCurrentRoute()->getPath();

或者使用Request类的方法:

\Request::route()->getName();

laravel 5.1 你得这么写:

use Illuminate\Support\Facades\Route;

$currentPath= Route::getFacadeRoot()->current()->uri();

到了5.2版本,就是题主的写法:

Route::currentRouteName();
我爱编程网

5.3版本到5.8版本,更加灵活了:

$uri = $request->path();

使用 Request 对象的方法就可以返回。获取路由,路由名称,方法名:

  • $route = Route::current();

  • $name = Route::currentRouteName();

  • $action = Route::currentRouteAction();

到了laravel 7.x 对请求对象 Request 有了更加丰富的特性:

$request->route()->getName();

结语

以上获取路由名的方法,根据不同laravel版本,进行不同的处理。

细节上的不同一定要多加注意。

以上就是我爱编程网为大家带来的php框架路由 thinkphp3.1快速入门路由 怎么输出,希望能帮助到大家!
与“php框架路由 thinkphp3.1快速入门路由 怎么输出”相关推荐
php热门框架路由 什么PHP框架可以自定义路由,我要用POST请求来做路由,并且路由的key可以自己定义
php热门框架路由 什么PHP框架可以自定义路由,我要用POST请求来做路由,并且路由的key可以自己定义

什么PHP框架可以自定义路由,我要用POST请求来做路由,并且路由的key可以自己定义可以自定义路由的框架太多了,以下从框架的可用性等来介绍:Laravel框架:合框架的大成,是一个全栈框架,包含:MVC,缓存,队列,定时任务等等。Slim:一个微型的框架,如果是简单的App后端服务,可以使用。ThinkPHP5.0版本:中文文档十分丰富,使

2023-09-16 17:59:32
php框架路由器 php为什么要使用路由器
php框架路由器 php为什么要使用路由器

php为什么要使用路由器电脑为什么用路由器才能上网首先要明白电脑并非一定要使用路由器上网:1、如果你的网络是运营商给的固定IP。那就右键网络--属性--本地连接--属性--双击ipv4,直接填上运营商给你的IP,网关,及DNS,这样就可以上网了。2、如果你的网络是运营商给的登陆账号和密码。那就右键网络--属性--设置新的连接和网络--连接到Internet--宽带

2023-09-22 20:58:25
php框架的路由怎么实现 ThinkPHP的几种路由形式总结
php框架的路由怎么实现 ThinkPHP的几种路由形式总结

ThinkPHP的几种路由形式总结本篇文章总结了ThinkPHP的几种路由形式,分别是普通模式、PATHINFO、REWRITE和兼容模式,希望对各位学习thinkphp的朋友有帮助!thinkphp官方文档里有详细的说明:ThinkPHP支持的URL模式有四种:普通模式、PATHINFO、REWRITE和兼容模式,可以设置URL_MODEL参数改变URL模式。(推荐教程:

2023-09-28 22:40:11
php框架路由设计思路 thinkphp 怎样动态配置路由,怎样从数据库调取数据来配置路由
php框架路由设计思路 thinkphp 怎样动态配置路由,怎样从数据库调取数据来配置路由

Phpcms如何自定义URL路由规则一、概述自定义url规则,首先要建立自己的URL规则,首先的理解一些定义和变量含义。首先进入URL规则管理这里,你会看到如下内容(进入方法:“扩展”-》“RUL规则管理”—》“管理RUL规则”)在、问吧、专题、等等也就是说你下一步建立的RUL规则是要应用在哪个模块上,那你就要选者哪个。在这里特别要提示一下的是,你在建立URL规则的时候不

2023-09-15 07:27:05
框架路由设计思路php 什么PHP框架可以自定义路由,我要用POST请求来做路由,并且路由的key可以自己定义
框架路由设计思路php 什么PHP框架可以自定义路由,我要用POST请求来做路由,并且路由的key可以自己定义

我想尝试着写个小型PHP框架,现在卡在类自动加载和路由实现上了类自动加载跟路由是框架最基础的特性给你点自动加载的思路,首先现在写框架必须用上命名空间,框架内部的类文件夹根据命名空间命名方便自动加载在入口文件引入自己写的Autoload.php通过spl_autoload_register获得要加载的类名spl_autoload_register(function ($cla

2023-09-18 15:40:56
php框架中路由 php写路由有几种方法
php框架中路由 php写路由有几种方法

php写路由有几种方法路由的功能就是分发请求到不同的控制器,基于的原理就是正则匹配。接下来呢,我们实现一个简单的路由器,实现的能力是对于静态的路由(没占位符的),正确调用callback。路由分配(推荐学习:PHP视频教程)基于php的路由分配,实质上来说就是利用url中的path去匹配对应的控制类,同时调用其中的方法进行相关操作的处理。&lt;?php//权限控制in

2023-08-29 03:28:30
php框架的路由原理 php为什么要使用路由器
php框架的路由原理 php为什么要使用路由器

如何写一个PHP框架呢?思路是什么,需要注意些什么?第一步实现自动加载第二步实现依赖注入容器第三步实现路由第四步实现控制器第五步实现模型第六步实现最基本的一些辅助操作类1.Db类,数据库操作少不了2.数据操作类,接收过滤getpostputdelete等数据3.配置文件操作类,任何一个框架都少不了,是吧。4.模板引擎,如果是前后端分离的

2023-09-19 20:47:46
php路由类框架 什么PHP框架可以自定义路由,我要用POST请求来做路由,并且路由的key可以自己定义
php路由类框架 什么PHP框架可以自定义路由,我要用POST请求来做路由,并且路由的key可以自己定义

php主流框架都有什么php各种主流框架的比较一、ThinkPHP框架优势:简单易用(Model,Controller,View负责各自的工作),它拥有支持XML标签库技术的编译型模版引擎,支持两种模版标签,动态编译,缓存技术。还支持自定义标签库,具有独特的数据验证和自动填充,MD5数据加密等功能。部署简单只需要一个入口文件,上手快,有丰富的中文文档;学习成本低,社区活跃度高,在

2023-09-06 04:39:56