[李景山php]每天laravel-20161027|FileLoader.php

原创 2016年08月31日 09:07:39
<?php

namespace Illuminate\Translation;

use Illuminate\Filesystem\Filesystem;

class FileLoader implements LoaderInterface
{// FileLoader implements Loader Interface
    /**
     * The filesystem instance.
     *
     * @var \Illuminate\Filesystem\Filesystem
     */
    protected $files;//The filesystem instance.

    /**
     * The default path for the loader.
     *
     * @var string
     */
    protected $path;//The default path for the loader.

    /**
     * All of the namespace hints.
     *
     * @var array
     */
    protected $hints = [];// All of the namespace hints.

    /**
     * Create a new file loader instance.
     *
     * @param  \Illuminate\Filesystem\Filesystem  $files
     * @param  string  $path
     * @return void
     */
    public function __construct(Filesystem $files, $path)
    {
        $this->path = $path;// path
        $this->files = $files;// files
    }//Create a new file loader instance.

    /**
     * Load the messages for the given locale.
     *
     * @param  string  $locale
     * @param  string  $group
     * @param  string  $namespace
     * @return array
     */
    public function load($locale, $group, $namespace = null)
    {
        if (is_null($namespace) || $namespace == '*') {
            return $this->loadPath($this->path, $locale, $group);// two type,one is loadPath
        }//locale group and namespace

        return $this->loadNamespaced($locale, $group, $namespace);// Load Namespace
    }//Load the messages for the given locale.

    /**
     * Load a namespaced translation group.
     *
     * @param  string  $locale
     * @param  string  $group
     * @param  string  $namespace
     * @return array
     */
    protected function loadNamespaced($locale, $group, $namespace)
    {//Load a namespaced translation group
        if (isset($this->hints[$namespace])) {// if it is set
            $lines = $this->loadPath($this->hints[$namespace], $locale, $group);//get this line

            return $this->loadNamespaceOverrides($lines, $locale, $group, $namespace);// return a wrap function
        }

        return [];//default null
    }

    /**
     * Load a local namespaced translation group for overrides.
     *
     * @param  array  $lines
     * @param  string  $locale
     * @param  string  $group
     * @param  string  $namespace
     * @return array
     */
    protected function loadNamespaceOverrides(array $lines, $locale, $group, $namespace)
    {//another load space
        $file = "{$this->path}/vendor/{$namespace}/{$locale}/{$group}.php";//get this file

        if ($this->files->exists($file)) {// if it is exists
            return array_replace_recursive($lines, $this->files->getRequire($file));
        }// return this thing

        return $lines;// return line
    }

    /**
     * Load a locale from a given path.
     *
     * @param  string  $path
     * @param  string  $locale
     * @param  string  $group
     * @return array
     */
    protected function loadPath($path, $locale, $group)
    {
        if ($this->files->exists($full = "{$path}/{$locale}/{$group}.php")) {
            return $this->files->getRequire($full);
        }// like include file by path ,the full is the full path

        return [];// null
    }//load a locale from a given path

    /**
     * Add a new namespace to the loader.
     *
     * @param  string  $namespace
     * @param  string  $hint
     * @return void
     */
    public function addNamespace($namespace, $hint)
    {
        $this->hints[$namespace] = $hint;
    }// addNamespace
    //Add a new namespace to the loader
}
版权声明:随便转载了..............

[李景山php]每天laravel[023]-laravel 中级任务--小白教程----实际操作-创建基础任务 to-do-list 案例 ---删除数据

到目前为止,整个程序,看起来,已经差不多了!但是默认的删除的为? {{csrf_field()}} {{method_field('DELETE')}} 删除按钮 跳转地址为?...

[李景山php]每天laravel[017]-laravel 中级任务--小白教程----实际操作-创建基础任务 to-do-list 案例 ---准备数据库

无论你干什么?都需要准备数据库结构!在这个任务里面,需要两个基础的表结构 users 表, 跟 tasks表 注意: 这里的表是复数。 这个也是laravel 的一个好的习惯。关于 users表...

[李景山php]每天laravel[035]-laravel 基础知识 --- Eloquent 模型之关系映射

简介: 看看老Laravel 是怎么吹嘘自己的情况! Laravel 所自带的Eloquent ORM 是一个优美、简洁的 ActiveRecord 实现,用来实现数据库操作。 每个数据表都有一...

[李景山php]每天laravel[004]-自动加载函数流程之composer autoload_real.php

我们探索了 从 1 app/public/index.php 开始 2 加载 bootstrap /autoload.php 文件 3 然后加载到 vendor / autoload.php文件...

[李景山php]每天laravel-20161131|BelongsToMany.php-3

/** * Save a new model and attach it to the parent model. * * @param \Illuminate\Dat...

[李景山php]每天laravel-20161130|BelongsToMany.php-2

/** * Get the pivot attributes from a model. * * @param \Illuminate\Database\Eloquen...

[李景山php]每天laravel-20161126|MigrateCommand.php

[李景山php]每天laravel[011]-laravel 中级任务翻译---路由

路由: 在我们任务列表应用的“基础指导版本”,我们定义了所有的我们的逻辑,使用的是闭包在我们的 routes.php 文件中。对于这个应用里面的大多数情况,我们使用控制器来组织我们的路由。...

[李景山php]每天laravel[010]-laravel 中级任务翻译---数据库迁移

准备数据: 1 数据库 2 模型 3 关系 数据库迁移: 首先,让我们使用migration[迁移命令]来定义一个数据库表来承载全部的任务,laravel 的数据库迁移命令提供了一种便...

[李景山php]每天laravel[028]-laravel 基础知识 --- 响应

HTTP响应1 基础响应最简单的响应 Route::get('/',function(){ return "Hello world"; }); 使...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[李景山php]每天laravel-20161027|FileLoader.php
举报原因:
原因补充:

(最多只允许输入30个字)