每天laravel-20160721|Application-1

namespace Illuminate\Console;

use Illuminate\Contracts\Events\Dispatcher;
use Illuminate\Contracts\Container\Container;
use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\BufferedOutput;
use Symfony\Component\Console\Application as SymfonyApplication;
use Symfony\Component\Console\Command\Command as SymfonyCommand;
use Illuminate\Contracts\Console\Application as ApplicationContract;
// my name space
class Application extends SymfonyApplication implements ApplicationContract
{// class Application extends SymfonyApplication implements ApplicationContract
    /**
     * The Laravel application instance.
     *
     * @var \Illuminate\Contracts\Container\Container
     */
    protected $laravel;// The laravel application instance.
   // all use this instance in the

    /**
     * The output from the previous command.
     *
     * @var \Symfony\Component\Console\Output\BufferedOutput
     */
    protected $lastOutput;//The output from the previous command.
// The previous command output String.

    /**
     * Create a new Artisan console application.
     *
     * @param  \Illuminate\Contracts\Container\Container  $laravel
     * @param  \Illuminate\Contracts\Events\Dispatcher  $events
     * @param  string  $version
     * @return void
     */
    public function __construct(Container $laravel, Dispatcher $events, $version)
    {
        parent::__construct(‘Laravel Framework‘, $version);// use parents construct , may like set

        $this->laravel = $laravel;// set the instance the laravel
        $this->setAutoExit(false);// set the auto Exit
        $this->setCatchExceptions(false);//set Catch Exceptions

        $events->fire(new Events\ArtisanStarting($this));//fire the Events \Artisan Starting
    }// Create a new Artisan console application

    /**
     * Run an Artisan console command by name.
     *
     * @param  string  $command
     * @param  array  $parameters
     * @return int
     */ // Run an Artisan console command by name.
    public function call($command, array $parameters = [])//Run an Artisan console command by name.
    {// call $command array $parameters
        $parameters = collect($parameters)->prepend($command);// collect($parameters)->prepend($command)
      // set the parameters ,format the parameters.
       // set parameter
        $this->lastOutput = new BufferedOutput;// $this->lastOutput get the new Buffered Output
        // the Output string is a Output class
       // set the lastOutput
        $this->setCatchExceptions(false);// set Catch Exceptions
      // Set Catch Exceptions
       // set the Exceptions
        $result = $this->run(new ArrayInput($parameters->toArray()), $this->lastOutput);// run ()
      // run the function use parameters and Output.
        $this->setCatchExceptions(true);// set the Set Catch Exception

        return $result;// back the result to the call
    }

    /**
     * Get the output for the last run command.
     *
     * @return string
     */
    public function output()
    {
        return $this->lastOutput ? $this->lastOutput->fetch() : ‘‘;
    }// Get the output for the last run command.
   // return $this->lastOutput ? $this->lastOutput->fetch():
时间: 2024-11-13 12:08:27

每天laravel-20160721|Application-1的相关文章

Laravel源码解析--看看Lumen到底比Laravel轻在哪里

在前面一篇<Laravel源码解析--Laravel生命周期详解>中我们利用xdebug详细了解了下Laravel一次请求中到底做了哪些处理.今天我们跟 Lumen 对比下,看看 Lumen 比 Laravel 轻在哪里? 1.Lumen生命周期 相比于Laravel,在Lumen中,你对框架有着更多的控制权.Lumen的入口文件相比于Laravel要简单许多. <?php /* |-----------------------------------------------------

lumen框架

1,获取配置 app(); 说明:app()返回的是全局唯一的application对象,该对象的原型是Laravel\Lumen\Application 加载配置文件(config/app.php): app()->configure($base); $config = config($key); 说明:app加载config/$base.php配置文件,并且读取$key配置:例如$base=app, $key=log_dir app()这个全局变量还有其它的方法,参见Laravel\Lume

From Apprentice To Artisan 翻译 03

The IoC Container 控制反转容器 Basic Binding 基础绑定 Now that we've learned about dependency injection, let's explore inversion of control containers. IoC containers make managing your class dependencies much more convenient, and Laravel ships with a very pow

2、载入验证码类及$_SESSION处理

1.载入验证码类,并验证 (1)下载定义好的code验证码类,放置到resources目录下 (2) 添加路由 Route::get('/admin/code','Admin\[email protected]'); (3)添加方法 LoginController.php public function code() { $code = new \Code(); $code->make(); } 注意: 不要忘记引入Code类,不加'\',会引入App\Http\Controllers\Admi

Lumen手记:lumen的初始化(1)——app初始化

版权声明:本文为博主原创文章,未经博主允许不得转载. 有些注释来着原文的百度翻译,可以有些难理解或者奇怪,我后面会根据自己的理解做调整的哈!!!不喜勿喷,层主英语不过关... 先来看看入口文件public/index.php //请求头 header('Content-Type: application/json; charset=utf-8'); /* |----------------------------------------------------------------------

laravel application 容器app

vendor/laravel/framework/src/Illuminate/Foundation/Application.php Application是laravel的核心容器,几乎处理所有东西的时候都需要用到,主要功能有: 1. app首先继承了container,作为一个容器类存在 2.注册了laravel运行过程的需要的基础类进容器,并且生成了运行需要的实例.承担了初始化功能. 这里需要额外说一下,app里面说的所谓注册,不是指绑定,应该是直接直接实例化了,并注入到容器.但是,针对p

使用Laravel首次运行出现 No application encryption key has been specified.

先观察Laravel根目录下是否有 .env文件,有则看1,无则看2 1.若直接报500错误: 输入命令: php artisan key:generate 2.若文件根目录下没有 .env文件 (1)将.env.example 改名使用命令 copy 修改为 .env (2)使用命令 3.命令行作用:获取密码后,自动保存到 .env文件中4.重新运行,OK. 若两种情况皆无,请重新安装laravel. 原文地址:https://www.cnblogs.com/piaobodewu/p/9801

Laravel 出现 No application encryption key has been specified.

若文件根目录下没有 .env 1..env.example 改名使用命令 copy 修改为 .env 2.使用命令 php artisan key:generate  获取密码,自动保存到 .env3.将密码复制到config/app.php 中的key里面4.重新运行,OK. 如有.env 的情况,直接进行第二步. 两种情况皆无,请重新安装laravel. 原文地址:https://www.cnblogs.com/yehuisir/p/10442977.html

laravel框架数据迁移

迁移就像数据库的版本控制,允许团队简单轻松的编辑并共享应用的数据库表结构,迁移通常和Laravel 的 schema 构建器结对从而可以很容易地构建应用的数据库表结构.如果你曾经告知小组成员需要手动添加列到本地数据库结构,那么这正是数据库迁移所致力于解决的问题. Laravel 的 Schema 门面提供了与数据库系统无关的创建和操纵表的支持,在 Laravel 所支持的所有数据库系统中提供一致的.优雅的.平滑的 API. laravel默认有两个文件uses  和 password_reset

自定义laravel函数dd()

dd()是laravel中一个帮助调试脚本的函数,可以打印php中所有类型的变量.它让变量显示的方式变得更加优雅,这也正是laravel框架的一大优点.首先看看dd()的源码,本文中laravel框架版本为5.1,(对应文件在laravel框架中的目录路径laravel/vendor/laravel/framework/src/Illuminate/Support/helpers.php) 1 function dd() 2 { 3 array_map(function ($x) { 4 (ne