laravel4.2命名空间使用问题
问题源于我对命名空间使用的不太理解
在入门教程里 创建数据迁移时有这样的语句
Schema::create('articles', function(Blueprint $table)...
很简单的 类直接调用函数 可是 这个类里根本没有定义这个create函数
===========以下为问题细节 可以忽略
在配置文件app/config/app.php里
'aliases' => array('Schema' => 'Illuminate\Support\Facades\Schema');
也就是说Schema指向Illuminate\Support\Facades\Schema.php中定义的 class Schema extends Facade {}
而Illuminate\Support\Facades\Facade .php里是一个抽象类
abstract class Facade {}
问题是无论是Schema 还是Facade 它们里面都没create方法
实际调用的是\Illuminate\Database\Schema\Builder 里面的create方法(本人认为,如果有误请指教)
请问这是怎么做到的
在入门教程里 创建数据迁移时有这样的语句
Schema::create('articles', function(Blueprint $table)...
很简单的 类直接调用函数 可是 这个类里根本没有定义这个create函数
===========以下为问题细节 可以忽略
在配置文件app/config/app.php里
'aliases' => array('Schema' => 'Illuminate\Support\Facades\Schema');
也就是说Schema指向Illuminate\Support\Facades\Schema.php中定义的 class Schema extends Facade {}
而Illuminate\Support\Facades\Facade .php里是一个抽象类
abstract class Facade {}
问题是无论是Schema 还是Facade 它们里面都没create方法
实际调用的是\Illuminate\Database\Schema\Builder 里面的create方法(本人认为,如果有误请指教)
请问这是怎么做到的
3 个回复
码农
赞同来自:
依然找不到,到父类中找相应方法,__call,__callStatic
然后父类的父类
Usual
赞同来自:
Usual
赞同来自:
facades,应该可以解决你的问题。