Laravel隐式控制器、缓存、常用操作

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Aaroun/article/details/79141019

隐式控制器

路由声明:

Route::controller('users', 'UsController');
  • 1

控制器写法

class UsController extends Controller
{
    //get请求默认方法
    //地址栏请求:http://xx.com/users
    public function getIndex(){
        echo 123;
    }

    //地址栏请求:http://xx.com/users/add
    public function getAdd(){
        echo 'ass';
    }
    //POST提交请求:http://xx.com/users/add
    public function postAdd(){
        echo 'postAdd';
    }

}

缓存

路由缓存

在你的项目部署完成后执行

php artisan route:cache
  • 1

生成路由缓存,缓存一旦生成,app/Http/routes.php 文件将失去作用;

想要清除缓存路由执行:

php artisan route:clear
  • 1

使用路由缓存可以大幅降低注册全部路由所需的时间。在某些情况下,你的路由注册甚至可以快上一百倍!

文件缓存

laravel有很多缓存方式,默认使用文件(file),但是不管用哪种缓存都需要先引入缓存基类 use Cache;

添加缓存:

//键,值,有时间

//有则修改,无则添加,无返回值
Cache::put('key', 'value', $minutes);

//有则返回false,添加失败;
//无则返回true,添加成功;
Cache::add('key', 'value', $minutes);

//添加永久有效数据,除非手动删除,否则不失效
Cache::forever('key', 'value');

获取缓存:

//返回缓存中的值
$value = Cache::get('key');

//如果没有值,或者已经失效,返回 'default'
$value = Cache::get('key', 'default');

//如果没有'key',函数会被调用,
$value = Cache::get('key', function() {
    //重新写入缓存
    Cache::put('ke', 'valueeee','1');
    //返回123
    return 123;
});

//获取并删除缓存
Cache::pull('key');

判断是否有缓存:Cache::has('key')

删除缓存:

//删除缓存
Cache::forget('key');
//清空所有缓存
Cache::flush();

文件系统

use Storage;

文件默认存放地址: 
storage/app

文件常用操作:

//保存信息到文件中:
Storage::put('file.jpg', '123');

//将数据在文件开头处插入
Storage::prepend('file.log', 'Prepended Text');
//将数据在文件结尾处插入
Storage::append('file.log', 'Appended Text');

//获取文件中的信息:
Storage::get('file.jpg');

//复制文件
Storage::copy('old/file1.jpg', 'new/file1.jpg');

//剪切文件
Storage::move('old/file1.jpg', 'new/file1.jpg');

//删除文件
Storage::delete('file.jpg');
Storage::delete(['file1.jpg', 'file2.jpg']);

//获取文件的大小并以 bytes 单位返回
$size = Storage::size('file1.jpg');

//最后修改时间并返回 UNIX 时间戳
$time = Storage::lastModified('file1.jpg');

目录常用操作:

//创建指定的目录
Storage::makeDirectory('/a/b/c');

//移除磁盘上的单个目录以及所包含的全部文件
Storage::deleteDirectory($directory);

//返回指定目录下的目录数组
$directories = Storage::directories($directory);
// 递归...
$directories = Storage::allDirectories($directory);

//返回指定目录下的文件名数组
$files = Storage::files($directory);

//返回包含指定目录下所有子目录的文件
Storage::allFiles($directory);
展开阅读全文

没有更多推荐了,返回首页