原创

laravel万能路由( 自动路由、动态路由)实现方法分享

laravel万能路由 自动路由 动态路由

有了万能路由就不用一条一条添加路由了,很方便。如果你要用资源控制器做Restful接口,那还是要写资源路由的,注意,资源路由一定要写在最上面。

Route::resource('photos', 'PhotoController');//资源路由要写在上面。

//万能路由

Route::group(['middleware'=>['web']],function (){

    Route::any("/{module}/{controller}/{action}",function ($module,$class,$action){
        $class = "App\\Http\\Controllers\\$module\\".ucfirst(strtolower($class)).'Controller';
        if(class_exists($class))
        {
            $ctrl = \App::make($class);
                return \App::call([$ctrl, $action]);
        }
        return abort(404);
 
    })->where([ 'module'=>'[0-9a-zA-Z]+','class' => '[0-9a-zA-Z]+', 'action' => '[0-9a-zA-Z]+']);

});

在你的控制器方法中获取参数要用(Request $request)

public function index(Request $request)
    {
        
        

Web Components 是什么?它为什么对我们这么重要?

摘要

先看一看未来的 WebComponent 标准,再简单了解怎么写 WebComponents,最后说说它的重要性。

简介

这篇文章简单介绍 WebComponent 标准,介绍哪些浏览器已经开始支持 WebComponents,讨论 WebComponents 能解决什么问题,以及它对 web 开发的重要性。你可以了解到如何利用 Vanilla javascript 编写一个简单的 WebComponent,我还会针对它的潜在优势分享我自己的一些拙见。…

                

laravel的RESTful实现:RESTful资源控制器-通过laravel 学习RESTful

RESTful 资源控制器

资源控制器让你可以轻松地创建与资源相关的 RESTful 控制器.Laravel 的资源路由将典型的「CURD (增删改查)」路由分配给具有单行代码的控制器。例如,你希望创建一个控制器来处理保存 "照片" 应用的所有 HTTP 请求。使用 Artisan 命令 make:controller ,我们可以快速创建这样一个控制器:

php artisan make:controller PhotoController --resource

                

laravel-admin安装使用

laravel-admin是一个超级棒的PHP后台框架,只用写极其少量的代码,就可以开发后台功能,不用写方法,不用创建与修改模板,开发速度是其它框架的N倍。堪称用最少的时间构建出功能完善的管理后台!!!

安装方法:

一.可参考(https://github.com/w3yyb/laravel-admin-skeleton,使用laravel 6)…

        

谈谈PHP中的匿名函数与闭包

<?php
//匿名函数,说白了就是“没有名字的函数”,不多说。给一段代码可能更为明白:
//例一,定义匿名函数并调用
$str='world';
$func=function ($str) {
    echo 'hello '.$str;
};
$func($str);// 输出 hello world


//例二,定义匿名函数,用use 引入变量并调用
$str='world';
$func=function () use ($str) {
    echo 'hello '.$str;
};
$func();//输出 hello world


 //例三
//在函数中把匿名函数返回,并且调用它
function getPrintStrFunc()
{
    $func = function ($str) {
        
        

最新PHP中的const和define 定义常量的区别

最新PHP中的const和define 定义常量的区别
常量是一个简单的标识符。在脚本执行期间该值不能改变(除了所谓的魔术常量,他们其实不是常量)。常量大小写敏感(php 7.4*)。通常常量标识符总是大写的。
1. const 通常用于类成员变量的定义。define不可用于类成员变量的定义,可用于全局常量。
2. const是在编译时定义, 不能在函数,循环及if条件中使用; 函数define() 定义的常量是在执行define()函数时定义的,因此可以在函数内、循环内、if语句内等函数能够被调用的任何地方使用define()函数定义常量。
<?php
const FOO='BAR';//有效的valid
define('FOO', 'BAR');// 有效的valid
if (1) {
const FOO='BAR';//无效的invalid
}
if (1) {
define('FOO', 'BAR');// 有效的valid
}

 

 3 .const定义的常量时大小写敏感的,而define可通过第三个参数(为true表示大小写不敏感)来指定大小写是否敏感(php7.4被弃用)。
例如:
<?php
define('FOO', 'BAR', true); //不区分大小写的常量的声明已从php7.4被弃用。现在将其TRUE作为第三个参数传递 
    

emqtt 使用 let’s encrypt ssl证书配置

Please also set cacertfile to chain.pem
You may also set certfile to cert.pem instead of fullchain.pem

listener.wss.external.keyfile = /etc/letsencrypt/live/xxxx.com/privkey.pem

listener.wss.external.certfile = /etc/letsencrypt/live/xxxx.com/cert.pem

listener.wss.external.cacertfile = /etc/letsencrypt/live/xxxx.com/chain.pem

 

参考 https://github.com/emqx/emqx/issues/2306

https://webcache.googleusercontent.com/search?q=cache:6Jlnb2l5RJQJ:https://medium.com/%40emqtt/using-lets-encrypt-certificates-in-emq-b11e0e57efa6+&cd=1&hl=en&ct=clnk