精华内容
下载资源
问答
  • laravel的kernel
    2018-06-25 10:01:57

    php scoket有很大的不确定性(容易断开连接成死进程,以及容易报错),以及laravel 的定时统计(kernel)也是,所以有以下建议,用

    try{}catch(e){}

    把该部分代码包裹起来,并记录日志及设计推送消息

    更多相关内容
  • Learning_Laravel_Kernel Laravel核心代码学习 前言 如果您对Laravel里面的依赖注入,服务绑定,服务解析等等这些东西很好奇,并且觉得只有理解了一个框架的核心代码才能真正把一个框架用好才能写出最佳实践,那么...
  • laravel框架学习laravel目录下的app/Http目录中会有Kernel.php文件,里面会定有三种不同的middleware。下面我么就说一下middleware 、middlewaregroups 、routeMiddleware 这三种中间件的作用$middleware:全局...

    0af63339c3eba61dcce89e095409f91e.png

    laravel框架学习

    laravel目录下的app/Http目录中会有Kernel.php文件,里面会定有三种不同的middleware。

    下面我么就说一下middleware 、middlewaregroups 、routeMiddleware 这三种中间件的作用

    $middleware:全局中间件

    所谓的全局中间件,就是中间件里的内容会全部执行

    protected $middleware = [

    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,

    \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,

    \App\Http\Middleware\TrimStrings::class,

    \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,

    \App\Http\Middleware\TrustProxies::class,

    ];

    $middlewareGroups:分组中间件

    只有在某个模块内才会调用,比如一般我们会定义三个web,admin,api

    $routeMiddleware:路由中间件

    内部中间件,只能在使用路由时候引用。

    简单的举个例子

    protected $routeMiddleware = [

    'auth' => \Illuminate\Auth\Middleware\Authenticate::class,

    'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,

    'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,

    'can' => \Illuminate\Auth\Middleware\Authorize::class,

    'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,

    'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,

    'admin.guest' => \App\Http\Middleware\RedirectIfAdminAuthenticated::class,//新添加后台跳转

    ];

    在使用的时候就会自动跳转

    展开全文
  • laravel 核心类Kernel

    2019-12-11 10:32:30
    vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php 是laravel处理网络请求的最核心类,在app容器准备好了之后,就会调用本类,之后所有的处理都在此类中。 初始化 调用router,因为router已经...

    vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
    是laravel处理网络请求的最核心类,在app容器准备好了之后,就会调用本类,之后所有的处理都在此类中。

    初始化

    1. 调用router,因为router已经中app中注册,所以,直接make就行。

    2. 添加middleware,首先添加如下默认的middleware:

         $middlewarePriority = [
         \Illuminate\Session\Middleware\StartSession::class,
         \Illuminate\View\Middleware\ShareErrorsFromSession::class,
         \Illuminate\Auth\Middleware\Authenticate::class,
         \Illuminate\Session\Middleware\AuthenticateSession::class,
         \Illuminate\Routing\Middleware\SubstituteBindings::class,
         \Illuminate\Auth\Middleware\Authorize::class,
      ];
      
    3. 添加其他的middlerware,进router,所有middleware以及middlewaregroup都加到router中。

    处理request,通过handler函数处理

    1. 处理前需要的类初始化,bootstrap

    2. 把传入的request送到middleware,然后传递到router。处理结束。

    bootstrap,调用app的bootstrapWith初始化整个请求需要的的环境:
    bootarp: 启动的时候需要实例化并运行的类

            \Illuminate\Foundation\Bootstrap\LoadEnvironmentVariables::class,
            \Illuminate\Foundation\Bootstrap\LoadConfiguration::class,
            \Illuminate\Foundation\Bootstrap\HandleExceptions::class,
            \Illuminate\Foundation\Bootstrap\RegisterFacades::class,
            \Illuminate\Foundation\Bootstrap\SetRequestForConsole::class,
            \Illuminate\Foundation\Bootstrap\RegisterProviders::class,
            \Illuminate\Foundation\Bootstrap\BootProviders::class,
    

    LoadEnvironmentVariables

    初始化环境变量文件(根目录下的.env文件),具体加载那几个文件,取决于几个条件:1.环境变量文件夹的路径设置(在app中设置) 2.控制台可以用—env参数,非控制台用APP_ENV环境变量,决定文件的后缀

    设置是通过 vendor/vlucas/phpdotenv/src/Dotenv.php加载到环境变量中:

        $_ENV[$name] = $value;
        $_SERVER[$name] = $value; 
    

    LoadConfiguration.php

    添加config 实例,并且读取config文件夹下的所有文件,初始化对象,注入到容器中,后续就可以直接用config简称调用了。

    HandleExceptions.php

    异常和错误处理,错误都转化成异常,异常调用容器中注册的ExceptionHandler来处理。

           注册用的系统函数:
          set_error_handler([$this, 'handleError']);
          set_exception_handler([$this, 'handleException']);
    

    RegisterFacades.php

    把配置文件app里面的app.aliases注册成门面

    注册是通过类:vendor/laravel/framework/src/Illuminate/Foundation/AliasLoader.php

    注册门面是用php的spl_autoload_register实现的注册自动加载函数,而自动加载函数调用class_alias将别名跟实际类绑定实现。实际类都继承自门面类

    vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php

    门面类的作用,直接调用容器中的绑定,生成相应的类实例,并且通过类的实例,调用相应的方法。

    所以,门面类,功能就是把容器中的类,提供了一个直接访问的别名,其实跟容器中的别名没有太大区别,只是把访问方式变了而已。

    RegisterProviders.php

    直接调用app中的registerConfiguredProviders,注册app配置文件中的providers,同时注册PackageManifest中的providers。

    BootProviders.php

    运行所有provider的boot

    所以,kernel整个功能就是:

    1. 初始化针对网站配置的环境。

    2. 添加meddlerware功能

    3. 配置router,并把请求发送到router

    展开全文
  • Laravel 任务调度

    千次阅读 2019-12-27 11:39:51
    1.应用场景 计划任务定期地在系统后台自动运行;即定时任务 2.学习/操作 1.介绍 TBD 2.操作 TBD ... 3.... ...

    1.应用场景

    计划任务定期地在系统后台自动运行;即定时任务

    2.学习/操作

    1.介绍

    TBD

     

    2.操作

    TBD

     

     

     

     

     

     

     

     

     

     

     

     

    后续整理

    ...

    3.问题

    TBD

    4.参考

    https://xueyuanjun.com/post/9575.html#toc_5 //任务调度

    后续补充

    ...

     

    展开全文
  • Laravel 5.5框架 核心类Kernel

    千次阅读 2017-12-23 15:23:19
    ;use Illuminate\Foundation\Http\Kernel as HttpKernel;class Kernel extends HttpKernel { /** * The application's global HTTP middleware stack. * * These middlewa
  • Laravel开发-kernel

    2019-08-28 12:54:20
    Laravel开发-kernel 基于Swoole的高性能FastCGI服务器。
  • laravel框架加载流程

    2021-04-26 14:09:32
    此文件会加载由 Composer 生成的自动加载器定义 并获取由 bootstrap/app.php 文件中所生成的 Laravel 应用程序实例 ... 生成Laravel应用程序实例 $app ...app/Http/Kernel.php 一般情况是 HTTP 请求,所以.
  • 定时任务 Scheduled Tasks 是 Laravel 提供的组件之一,稍微上点规模的项目应该都会用到, 比如开发微信应用时通过定时任务去刷新 access token,比如...当 cli 初始化完毕之后,系统会调用 App\Console\Kernel::sch
  • 上篇:Laravel源码入门-启动引导过程(四)app/Http/Kernel.php Kernel 做了两件事,第一个是定义 $bootstraps[],做好了 boot 系统的准备,第二个是定义 各种 middleware,这些都对 $request 进行加工、处理、...
  • 1. 在Kernel中设置对应的定时任务脚本 $schedule->command('xxxxxx') ->hourly(); 2. 由于服务部署了多台,因此需要设置只在一台服务上执行 $schedule->command('xxxxxx') ->hourly() ->...
  • laravel5.5的定时任务详解(demo)

    千次阅读 2018-05-23 11:27:12
    框架:laravel 5.5 (确认能跑通) 需求:每天晚上1点执行定时操作 二、定时任务的步骤 1、根据文档,创建命令       首先进入到laravel/app/console ...
  • Laravel网站打开速度优化的方法汇总

    千次阅读 2020-12-21 06:02:29
    前言Laravel是一个功能强大的框架,组件很多,代码也很庞大,它的易用方便是牺牲了性能的,即便如此它仍然是一个优秀的框架,但在正式环境下要做好优化提升网站的打开速度。下面这篇文章主要给大家介绍了关于Laravel...
  • 我有一个项目,需要通过WebSockets连续发送通知.它应该连接到以字符串格式返回总体状态的设备....这是我的app / Console / Kernel.php:...class Kernel extends ConsoleKernel{...protected funct...
  • laravel中schedule实现计划任务详解

    千次阅读 2021-03-19 17:47:54
    Kernel.php中,编辑如下: Command('stat:log')->dailyAt('17:13'); // 定义执行时间 } } 3.linux上crontab -e,编辑 * * * * * /app.../bin/php /data-1/.../artisan schedule:run> /dev/null 保存 通过以上...
  • use Illuminate\Foundation\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel { protected function schedule(Schedule $schedule) { // 一小时执行一次『活跃用户』数据生成的命令 $...
  • laravel简单实现拦截器

    千次阅读 2019-04-25 17:56:59
    新手小白,从来没有学过php,但是新工作需要我重构一个项目,重新用laravel框架做这个项目,今天百度了好多,然后最后边学习边摸索大致实现了一个简单的拦截器。 利用中间件和session对未登录用户进行拦截 首先,...
  • laravel 队列jobs体验

    万次阅读 2018-01-20 16:26:06
    同时也觉得看英文文档的重要性,就laravel框架来说,英文原版的一些内容在中文翻译版中直接减掉了,虽然不是一些主要功能,但是对于开发流畅性还是有一定影响的。再就是原版英文文档的描述更清晰一些,尤其是某些...
  • } } 在 app/Console/Kernel.php 中的 $commands 增加该命令类 protected $commands = [ ..., 'App\Console\Commands\Action', ]; 如何执行 php artisan action:call XXController@xxAction XXController 代表是...
  • Laravel 学习笔记:Command

    万次阅读 2018-05-04 09:42:48
    Laravel 开发console程序非常方便,其模式与其他框架,如yii类似。本文参考了 Laravel 5.5 文档 详细信息请参考之。注:本文是基于Laravel 5.5的版本编写请注意。 一、crontab 了解Cron 是Linux下的定时器工具,可以...
  • yii和zend框架的区别是什么?... Q:我的项目启动时报错laravel $kernel->handle 怎么办?A:检查app/Http/Controller目录下 是否存在Controller.php。一般这种问题是误删了此文件导致。Q:我该怎么解...
  • laravel为什么运行这么慢?原因分析

    千次阅读 2020-05-24 09:23:57
    laravel作者是个.net程序员,所以你看到它继承了.net优点:非常的规范、非常形象语义化的命名、很多前卫的概念(如依赖注入、服务器提供者、容器等)、最先使用composer的php框架...等等,他把他们统一叫做“优雅”;...
  • laravel

    2021-03-07 17:48:44
    关于Laravel Laravel是一个Web应用程序框架,具有表达力强,优雅的语法。 我们认为,发展必须是一种令人愉快的,富有创造力的经历,才能真正实现。 Laravel减轻了许多Web项目中使用的常见任务,从而减轻了开发过程中...
  • Laravel

    2021-02-16 07:21:46
    Laravel是一个具有表达力,优雅语法的Web应用程序框架。 我们认为,发展必须是一种令人愉快的,富有创造力的经历,才能真正实现。 Laravel试图通过减轻大多数Web项目中使用的常见任务(例如身份验证,路由,会话,...
  • laravel 任务调度(定时执行任务)

    万次阅读 2016-12-27 10:36:52
    任务调度写在 app/Console/Kernel.php 文件 schedule 中,里面默认有一个例子。在 schedule 方法里放入自己的执行的代码。比如 这个是每一分钟在数据库里插入一条数据。 namespace App\Console; use ...
  • 关于Laravel Laravel是一个具有表达力,优雅语法的Web应用程序框架。 我们认为,发展必须是一种令人愉快的,富有创造力的经历,才能真正实现。 Laravel通过减轻许多Web项目中使用的常见任务来减轻开发工作的痛苦,...
  • laravel8App:laravel8项目

    2021-03-19 23:29:27
    Laravel减轻了许多Web项目中使用的常见任务,从而减轻了开发过程中的痛苦,例如:。。用于和存储的多个后端。富有表现力,直观的 。数据库不可知。。。 Laravel易于访问,功能强大,并提供大型,强大的应用程序所需...
  • laravel5.8 定时任务(每隔5s执行一次)

    千次阅读 2020-03-12 19:19:32
    注意:laravel自带的定时任务最低1分钟执行一次,必须使用shell脚本 1:首先进入到laravel/app/console ...该目录下还有 Console/Kernel 类,在这里可以注册自定义的 Artisan 命令以及定义调度任务。 php artisan ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,935
精华内容 4,774
热门标签
关键字:

laravel的kernel