我在使用Laravel创建立面模型类时遇到了一些问题。我已经关注了http://laravel.com/docs/facades,但是我想我缺少了一些东西。
我创建了一个文件夹app/models
叫foo
。在那个文件夹中,我有两个文件。
第一个文件(Foo.php):
<?php
namespace Mynamespace;
class Foo {
public function method() {
}
}
?>
第二个文件(FooFacade.php):
<?php
use Illuminate\Support\Facades\Facade;
class Foo extends Facade {
protected static function getFacadeAccessor() { return 'foo'; }
}
?>
然后我将数组添加Foo => 'Mynamespace\Foo'
到aliases
中app/config/app.php
并运行composer update
和composer dump-autoload
。
现在,当我尝试跑步时,Foo::method()
我得到了Non-static method Mynamespace\Foo::method() should not be called statically
。我究竟做错了什么?
facades
在app
文件夹(app/facades
)中创建一个名为的文件夹。
将立面文件夹添加到您的作曲家自动加载中。
"autoload": {
"classmap": [
...
"app/facades"
]
},
在该文件夹(FooFacade.php
)中创建一个Facade文件,并添加以下内容:
<?php
use Illuminate\Support\Facades\Facade;
class MyClass extends Facade {
protected static function getFacadeAccessor() { return 'MyClassAlias'; } // most likely you want MyClass here
}
在app/models
(MyClass.php
)中创建一个模型。
<?php
namespace MyNamespace;
use Eloquent; // if you're extending Eloquent
class MyClass extends Eloquent {
...
}
创建一个新的服务提供商(您可以在应用程序中创建一个名为的文件夹serviceproviders
,并将其添加到composer自动加载中)(app/models/MyClassServiceProvider.php
)。
<?php
use Illuminate\Support\ServiceProvider;
class MyClassServiceProvider extends ServiceProvider {
/**
* Register the service provider.
*
* @return void
*/
public function register() {
$this->app->bind('MyClassAlias', function(){
return new MyNamespace\MyClass;
});
}
}
如果需要另一个外观,可以在此处添加新的绑定(如果需要,请不要忘记创建外观文件)。
将服务提供者添加到中的providers
数组config/app.php
。
'providers' => array(
...
'MyServiceProvider'
)
运行,composer dump
以便我们可以访问我们的新类。
您现在可以MyClassAlias::method()
作为外观访问。
我想在用户表中添加一个外键: 一个用户有一个城镇(法语为ville),一个城镇可以有多个用户: 我的村庄(城镇)迁移 我重命名了迁移(我不知道这样做是否有好处?),这是我迁移的顺序,正如您所看到的,我在用户之前创建了villes: 我在终端中发现了这个错误: 照亮\数据库\查询异常 SQLSTATE[42000]:语法错误或访问冲突:1072键列“villes\u id”在表中不存在(SQL:al
如何使用外观模式 现在我们用 PersistencyManager 来管理专辑数据,用 HTTPClient 来处理网络请求,项目中的其他类不应该知道这个逻辑。他们只需要知道 LibraryAPI 这个“外观”就可以了。 为了实现外观模式,应该只让 LibraryAPI 持有 PersistencyManager 和 HTTPClient 的实例,然后 LibraryAPI 暴露一个简单的接口给其
问题内容: 我有以下口才的查询(这是查询的简化版本,其中包含更多s和s,因此是实现此目的的明显回旋方式-该理论很重要): 如您所见,我最早的约会发生在我的约会上或之后。这导致运行单独的查询来获取该日期,然后将该日期用作主查询中的参数。有没有一种雄辩的方法可以将查询嵌入在一起形成一个子查询,因此只有1个数据库调用而不是2个? 编辑: 根据@Jarek的答案,这是我的查询: 这些块使查询中的所有参数突
问题内容: 会定期提出类似的问题,但其中许多答案已过时。 我需要使用Java构建质量与当代桌面应用程序相当的GUI的跨平台桌面应用程序。 Swing是默认选择,但是我还没有遇到过一个Swing应用程序,该应用程序至少看起来并不太过时且笨拙(我知道是主观的,但是使用GUI很难避免美学判断)。 我注意到,新的比特币客户端现在使用带有Java绑定的QT,并且确实具有吸引人的用户界面,但是这样做的缺点是不
基本上,我有两个问题在下面强调。然而,我最初的问题是基于一些研究,这就是为什么下面的文本要长一点。以下是我想知道的: 如果不使用云服务进行编译,我可以使用哪些框架构建具有本机外观的混合应用,你有什么建议吗 我喜欢使用混合应用(或至少是网络应用)的理念,为Android、iOS、Blackberry和Windows Phone 8等多个移动平台构建应用。由于我已经对现有框架进行了一些研究,我想知道是
问题内容: 我需要一些使用ng-bind-html创建的ng-model的帮助。我在服务器中有一个JSON文件,其中有一些html和一些类似的输入: .json 然后,在我的HTML文件中,我会看到以下内容: 在我的Angular控制器中,我有一个JSON文件的ajax调用: 控制器: 填充了html,但是我不能将$ watch用于通过这种方法生成的模型(q)。 我如何监视以此方式创建的模型的变化