Bonjour!
Voila, je souhaiterais bien organiser mon code avec les espaces de noms et les normes actuel, cependant je débute dans cet approche.
Voila ce que j'ai trouver
models/
- content/
- comment.php
- post.php
- forum/
- comment.php
- forum.php
class Content extends Eloquent {
}
namespace Content;
use Eloquent;
class Comments extends Eloquent {
}
Donc je souhaiterais savoir si c'est bon (PSR), et comment utiliser cela dans mon controller?
Car "traditionnellement" je faisait
class ContentController extends BaseController {
public function index()
{
$comment = ContentComment::all();
}
}
Et comment cela se passe pour coté déclaration des relations entre les modèles
Si vous avez une autre approche d'organisation, je suis tout ouï :)
Merci
Donc pour ce qui serait intéresser voici une possibilité
//Models/content.php
namespace App\Models;
class Content extends Eloquent {
protected $table = 'content';
public function comments()
{
return $this->hasMany('App\Models\Content\Comment');
}
}
//Models/Content/Comment.php
namespace App\Models\Content;
class Comment extends Eloquent {
protected $table = 'content_comments';
public function contents()
{
return $this->belongsTo('App\Models\Content', 'type_id');
}
}
//Controllers/MonController.php
<?php
namespace App\Controllers;
use View;
use BaseController;
use App\Models\Content as Content;
use App\Models\Content\Comment as Comment;
class MyController extends BaseController {
$content = Content::all();
}
//route.php
Route::get('/', 'App\Controllers\MyController@index');
et une petite commande
composer dump-autoload