如果我可能会问,我想问一下“会话”,“控制器”和“会话控制器”。
所以让我们从头开始:我听说过MVC并在C#(VS)中尝试过,但是虽然我能理解这个概念,但我并不了解实现。这一切看起来都很奇怪。现在在PHP中,概念变得更加清晰。
现在我想问一下“会话控制器”是否像会话的控制器一样。在措辞上似乎是直截了当的,但也许我错了。虽然我最好不在我正在进行的当前项目中实现MVC,但我想执行某种管理会话内容分组的“控制器”。
虽然我想询问是否可以在您的应用程序中使用以下脚本:
//path: c:/xampp/htdocs/starvationproject/root/index.php
<?php
include '../session/controller.php';
?>
<!DOCTYPE..........
//path: c:/xampp/htdocs/starvationproject/session/controller.php
//I have not coded this script yet, but it will perform tasks like
//setting the user, session variables etc.
<?php
session_start();
?>
// An important question here. If I include this file in the previous, can
// I safely say that the session has been started in index because of the
// include, or do you have to manually type out session_start();
// in each page?
最后,我想问一下这个文件结构是否正确,或者更确切地说,如果它是标准的,也不是,或者其他什么:
Folder Structure ,其中“multi”(如你所见)有一个以“partial”中每个文件夹命名的页面,我所做的是,根据“multi”中页面的get请求,我包含了一个部分,即:< / p>
if ($_GET['q'] == 'Add') {
include '../partial/stockAct/add.php';
}
else if ($_GET['q'] == 'Update') {
include '../partial/stockAct/update.php';
}
然后这些“部分”文件只会像section
一样持有form
或类似的东西。就像在电视机停留的地方一样,我只是在切换频道。
答案 0 :(得分:1)
我会尽力帮助。
首先让我们谈谈会议。服务器使用会话在整个单个浏览器会话中“存储”临时信息(这可以稍微修改,但我们不会忽略那个兔子洞)。在您的特定情况下,不需要会话控制器,因为服务器处理所有会话逻辑。例如,在登录页面上,当登录表单被推送到登录脚本时,您可以在该点简单地将用户ID添加到会话中,然后无论您移动到哪个页面,用户ID仍将保留在会话。当然,您只需要设置一次会话,并且只在需要时访问它。这是MVC闪耀的地方,因为您可以轻松定义路由,其中特定身份验证类型的所有页面首先通过以确保用户已登录/有权访问页面内容。
对于文件夹结构,我建议立即进行一些更改。首先,我确定你熟悉“public / public_html”文件夹的说法?这些文件夹是专门的名称,代表你放置前端用户“看到”所有文件的位置。这包括,前面-end js文件,css / styles和你的案例php PAGES。但是这个文件夹不应该包含任何后端逻辑,比如数据库连接或验证脚本,因为这样可以让前端访问潜在的敏感信息(即数据库登录)我确定在您的DB_Conn.php文件中找到的信息。)
为了解决这个问题,我提出以下建议(假设你想避免使用“MVC”结构)。
ROOT
->Public //this is your WEB ROOT/ DOCUMENT ROOT folder
->Pages
->Style
->Scripts
->Assets
->Images
->etc.
->DB
->Connections
->db1_conn.php
->db2_conn.php
->Models
->User.php
->Posts.php
->Verification
->login.php
->etc
我想完成一些建议,因为我以前用这种方式建立网站。 MVC需要一些时间来学习,但它们最大的优势是信息的组织和流动。作为奖励,他们的流程涵盖了验证,安全和数据清理等常见问题。不要让他们吓唬你,因为他们需要学习的时间,他们非常值得你从他们身上获得的能力。
我强烈推荐Laravel。版本5.5刚出来,哦,男孩是美丽的东西。希望我能帮助至少一点!