PHP - 会话和控制器
如果我可能会问,我想问一下关于“会话”,“控制器”和“会话控制器”。所以让我们从头开始:我听说过MVC并在C#(VS)中尝试过,但是当我能够理解这个概念时,我并不理解实现。这一切似乎很奇怪。现在在PHP中,这个概念变得更加清晰。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?
最后,我想问一下,如果这个文件的结构是否正确,或者更确切地说,如果它是标准的或NOR,或什么:
Folder Structure ,其中“多”(因为你可以看到)有一个在“部分”的每个文件夹,在那里我做了什么而得名页,基于对GET请求页在“多”,我包括一个部分,即:
if ($_GET['q'] == 'Add') {
include '../partial/stockAct/add.php';
}
else if ($_GET['q'] == 'Update') {
include '../partial/stockAct/update.php';
}
然后那些“部分”文件只能像section
那样持有form
或类似的东西。就像在电视上一样,我只是在切换频道。
我会尽我所能提供帮助。
首先让我们谈谈会议。服务器使用会话来在整个单一浏览器会话中“存储”临时信息(这可以稍微修改,但我们不会放弃那个兔子洞)。在你的具体情况中,拥有会话控制器是不必要的,因为服务器处理所有的会话逻辑。例如,在登录页面上,当登录表单被推送到登录脚本时,可以简单地将用户标识添加到该点的会话中,然后无论您移动到哪个页面,用户标识仍将保留在会话。当然好处是你只需要设置一次会话,并且只在需要时访问它。这就是MVC的亮点所在,因为您可以轻松定义一个路由,其中特定认证类型的所有页面首先通过,以确保用户已登录/可以访问页面内容。
对于文件夹结构,我建议立即进行一些更改。首先,我确定您熟悉“public/public_html”文件夹的说法吗?这些文件夹是专门用来表示您放置前端用户将“看到”的所有文件的位置,其中包括前 - 结束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版刚出来,哦,男孩是美的东西。希望我能帮助至少一点!
谢谢。这引起了很多齿轮的研究,并给了我一个关于如何处理任务不同部分的全新观点。感谢所有的建议 –
没问题,乐意帮忙! – Luke