我只是掌握了MVC框架,我常常想知道模型中应该有多少代码.我倾向于有一个数据访问类,其方法如下:
public function CheckUsername($connection, $username)
{
try
{
$data = array();
$data['Username'] = $username;
//// SQL
$sql = "SELECT Username FROM" . $this->usersTableName . " WHERE Username = :Username";
//// Execute statement
return $this->ExecuteObject($connection, $sql, $data);
}
catch(Exception $e)
{
throw $e;
}
}
Run Code Online (Sandbox Code Playgroud)
我的模型往往是映射到数据库表的实体类.
模型对象是否应具有所有数据库映射属性以及上面的代码,或者可以将实际上数据库工作的代码分开吗?
我最终会有四层吗?
我想问一些关于如何解决这个问题的提示.我正在尝试建立自己的MVC网站.我学习了URL的基础知识.
http://example.com/blog/cosplay/cosplayer-expo-today
Run Code Online (Sandbox Code Playgroud)
博客 - >控制器
cosplay - >控制器
cosplayer-expo-today中的方法 - >方法中的变量
如果我在博客控制器中动态扩展类别怎么办?我是否需要创建该方法,还是有一些技巧可以自动完成?我的意思是......我现在有这些类别:角色扮演,游戏,电影,系列.所以我需要在控制器中创建这些方法,但它们都做同样的事情,即从数据库中选择其他类别.
关于如何编写我的控制器来自动执行此操作,是否有任何好的建议?我的意思是如果我在我的数据库中上传一个新类别,但我不想修改控制器.可能吗?谢谢您的帮助!
UPDATE
这是我的URL exploder类
class Autoload
{
var $url;
var $controller;
function __construct()
{
$this->url = $_GET['url'];
//HNEM ÜRES AZ URL
if($this->url!='' && !empty($this->url))
{
require 'application/config/routes.php';
//URL VIZSGÁLATA
$this->rewrite_url($this->url);
//URL SZÉTBONTÁSA
$this->url = explode('/', $this->url);
$file = 'application/controllers/'.$this->url[0].'.php';
//LÉTEZIK A CONTROLLER?
if(file_exists($file))
{
require $file;
$this->controller = new $this->url[0];
//KÉRELEM ALATT VAN AZ ALOLDAL?
if(isset($this->url[1]))
{
//LÉTEZIK A …Run Code Online (Sandbox Code Playgroud)