Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从包内扩展Laravel 4雄辩的模型_Php_Laravel_Laravel 4 - Fatal编程技术网

Php 从包内扩展Laravel 4雄辩的模型

Php 从包内扩展Laravel 4雄辩的模型,php,laravel,laravel-4,Php,Laravel,Laravel 4,首先,我对国际奥委会、服务提供商和门面都不熟悉,但我猜答案在于以下方面: 从包内扩展雄辩模型的最佳方法是什么(可能不止一种正确的方法,但请分享您的方法)。以下是我计划采用的应用程序结构: L4框架+两个单独的包(CMS和CRM),需要共享一些有说服力的模型。然而,可能存在特定于包的情况,包需要扩展双方正在使用的雄辩模型,我不想触及基本模型 我还计划为每个包使用单独的控制器和视图(除非在包之间有相同的东西)。主视图将从L4视图文件夹中加载。这听起来对吗?(至少我已经使用了单独的控制器和视图,它们工

首先,我对国际奥委会、服务提供商和门面都不熟悉,但我猜答案在于以下方面:

从包内扩展雄辩模型的最佳方法是什么(可能不止一种正确的方法,但请分享您的方法)。以下是我计划采用的应用程序结构:

L4框架+两个单独的包(CMS和CRM),需要共享一些有说服力的模型。然而,可能存在特定于包的情况,包需要扩展双方正在使用的雄辩模型,我不想触及基本模型

我还计划为每个包使用单独的控制器和视图(除非在包之间有相同的东西)。主视图将从L4视图文件夹中加载。这听起来对吗?(至少我已经使用了单独的控制器和视图,它们工作得很好。)

我希望采用包方法的原因是,我希望CMS和CRM具有独立的代码和结构,以便通过composer轻松安装、卸载和更新

我非常乐意听到任何关于实现这一切的建议。此外,如果这似乎没有任何意义,请告诉我,我会尝试澄清自己:)


干杯

如果您在Laravel 4中创建一个包,那么您应该能够执行以下操作:

<?php

use Illuminate\Database\Eloquent\Model;

class YourModel extends Model {

    // Your code here
}

如果您在Laravel 4中创建一个包,那么您应该能够执行以下操作:

<?php

use Illuminate\Database\Eloquent\Model;

class YourModel extends Model {

    // Your code here
}

根据您的评论,我认为NAMPACCEP是正确的答案,因为您的模型将共享功能,在同一个安装中而不是单独的包中安装它们是更有意义的。下面是一个例子:

在/app/models/Entities/CRM/UserEntity.php中

<?php namespace Project\Models\Entities\CRM;

use Eloquent;

Class User extends Eloquent {
    ...
    public function owner()
    {
        return $this->belongsTo('Project\Models\Entities\CMS\User');
    }
}
<?php namespace Project\Models\Entities\CMS;

use Eloquent;

Class User extends Eloquent {
    ...
    public function contacts()
    {
        return $this->hasMany('Project\Models\Entities\CRM\User');
    }
}

根据上面的评论,我认为NAMPACCEP是正确的答案,因为你们的模型将共享功能,将它们放在同一个安装而不是单独的包中更有意义。下面是一个例子:

在/app/models/Entities/CRM/UserEntity.php中

<?php namespace Project\Models\Entities\CRM;

use Eloquent;

Class User extends Eloquent {
    ...
    public function owner()
    {
        return $this->belongsTo('Project\Models\Entities\CMS\User');
    }
}
<?php namespace Project\Models\Entities\CMS;

use Eloquent;

Class User extends Eloquent {
    ...
    public function contacts()
    {
        return $this->hasMany('Project\Models\Entities\CRM\User');
    }
}

您是否将CMS和CRM构建为两个独立的应用程序?您可以创建自己的扩展了Eloquent的小类,并将其发布到PackageGist,然后将其添加到composer.jsonYes中,不:)其想法是它们可以单独工作,也可以一起工作,但在同一个Laravel安装中。我目前正在研究更多关于国际奥委会的设计和外观,以取得最佳效果。谢谢你的评论!您是否将CMS和CRM构建为两个独立的应用程序?您可以创建自己的扩展了Eloquent的小类,并将其发布到PackageGist,然后将其添加到composer.jsonYes中,不:)其想法是它们可以单独工作,也可以一起工作,但在同一个Laravel安装中。我目前正在研究更多关于国际奥委会的设计和外观,以取得最佳效果。谢谢你的评论!谢谢你的回答!我已经意识到,我的问题是相当广泛的,要得到彻底的回答,我宁愿需要一个关于这个主题的完整教程。目前,我正处在这样一个时刻,我有单独的包和模型来扩展核心,这正是我想要的方式。我接受你的回答,因为它解决了我最初的问题:)实现包使用的另一个关键是名称空间,这是我以前没有使用过的。谢谢你的回答!我已经意识到,我的问题是相当广泛的,要得到彻底的回答,我宁愿需要一个关于这个主题的完整教程。目前,我正处在这样一个时刻,我有单独的包和模型来扩展核心,这正是我想要的方式。我会接受你的回答,因为它解决了我最初的问题:)实现包使用的另一个关键是名称空间,这是我以前从未使用过的。嗨,Mulkave,这与我实现我想要的非常接近。谢谢你的回复!嗨,Mulkave,这与我为实现自己的目标所做的非常接近。谢谢你的回复!