我正处于学习PHP模型、视图、控制器框架的早期阶段。多亏了的一个教程,我已经掌握了它的诀窍。据我所知,控制器将调用模型,以便可以运行适当的代码,以便正确呈现可视内容。
问题是,基于那个特定的教程,似乎我将不得不为每个页面创建一个全新的文件,仅仅是为了调用模型,以便使数据可见。
例如,在我的controller.php文件中有:
require_once("model.php");
class Controller
{
public $file;
public $league;
public function __construct($fil
维基百科重定向到一个关于“多层架构”的页面,上面写着:
In software engineering, multi-tier architecture (often referred to as n-tier
architecture) is a client–server architecture in which presentation, application
processing, and data management functions are logically separated.
这是不是就像使用mySQL创建和查询数据库,使用php进行交互,使用HTML进行表示一
我使用的是MVC PHP框架,我成功地编写了所有模型,然后完成了所有后端人员的工作。在前面的开发中,为了使一切变得更容易和更快,我发现自己需要使用Datatable插件,但这迫使我以特定的格式返回响应,因此我编写了一个插件,它将返回的值从模型更改为数据存储中所需的格式。
示例1-使用我自己的插件的模型:
$this->myModel->setCostRange(50, 93);
$this->myModel->setCustomerId(123);
$results = $this->myModel->search();
// Then I use my
我有一个数据访问层,它对数据库中的每个表都有单独的类。每个类都创建引用表中一行的对象,它们具有创建、更新、删除和获取函数。它们都扩展了一个DBObj类。我的问题是,假设我想要向SELECT * FROM table编写一个查询,并将其包含在一个函数中。放这个最好的地方是哪里?在业务层中,还是将所有相关功能分组到各自的数据层类中?它是用PHP编写的,用的是MySQL。
假设我有一堆“电子邮件”功能-比如用户注册确认或密码恢复电子邮件,或通知更新电子邮件。我可以在哪里“放置”这些函数?我最初的想法是简单地将它们放在控制器中,但我更愿意有一个公共的地方。然后我的想法是专门为电子邮件创建一个新的控制器,但这打破了MVC模式,我的最后一个想法是扩展email_helper.php助手,但如果我这样做了,我就不能做像这样的事情
$this->email->to($email);
因为我得到了一个错误:
Fatal error: Using $this when not in object context in /Applications/XAMPP/xam
我正在编写自己的PHP框架,我想知道哪个地方最适合编写持久数据对象(例如用户)。没有像$_SESSION,APC,memcached这样的持久存储。有人可以从数据库中检索每个http请求中的用户数据,这在性能上是个坏主意。(M)欧德尔似乎是一个不错的选择。像这样的事情是个好的开始吗?
class UserModel extends Model
{
public function getEmail()
{
$user = Session::get('User');
if(isset($user))
{
return $user->
今天,我学习了如何在MySQL中创建存储过程。
DELIMETER //
CREATE PROCEDURE new(IN first INT)
BEGIN
SELECT * FROM table WHERE first_id= first;
END //
假设我创建了它并在PHP中调用它;CALL new('4');或我将我的sql命令直接写入PHP。
$mysqli->query("SELECT * FROM table WHERE first_id= $first");
我的PHP中有20个sql命令,我正在将它们作为存储过程复制到phpmy
我正在构建一个社交网络,但我找不到解决这个问题的最佳方法:
例如,对于个人资料页面-根据两个用户的好友状态,或者基于用户是查看自己的个人资料还是国外的个人资料,显示/隐藏个人资料页面的不同部分的最佳方式是什么。
是否可以在视图中显示表示逻辑?就像这样
<?php if ($logged_user_id==$viewed_profile_user_id) {echo "This is your profile"} ?>
或者应该是用于显示“视图部分”(图像、状态、用户朋友等)的所有逻辑。在控制器中?
谢谢