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

1 réponse


neocorp
Auteur
Réponse acceptée

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