0

我的计算机课程的一部分要求我构建一个完整的 PHP 系统。我选择为一家虚构的股票经纪公司创建一个,该公司希望其客户能够通过网络系统查看他们的资产(股票和债券)。

对于菜单,我的第一个想法是使用一些简单的“hrefs”,因为菜单将被固定为显示页面链接,如“查看股票;查看债券;我的帐户等”。但是,我的老师坚持不能使用“hrefs”,唯一可行的方法是使用 switch 语句(或者他称之为:case 语句)。这是真的?应该注意的是,我的老师几乎没有 PHP 经验,而且我们似乎对他所说的一切都发生了冲突(他一直在谈论 PHP 是事件驱动的并涉及系统循环等。我一直认为这是不真实的...... )。

那么,有人有什么建议吗?我应该违背他的意愿坚持使用“hrefs”,还是使用其他方法?

4

3 回答 3

2

我希望你们两个之间只是通信失败...... href 是 < a > 标签的一个属性。这些是 HTML 元素,与 PHP 完全无关。它只是“链接”到页面的公认方法。如果您不允许使用 href,那么为了在页面之间导航,您将需要 AJAX 或表单 POST。这对菜单都没有意义。PHP 中无法生成 href 的功能,因为 PHP 是一种服务器端脚本语言,而 href 用于客户端导航。

于 2012-12-10T21:24:36.293 回答
1

我会说你的教授是对的,也是对的。我实际上正在与工程学院网络开发团队合作,我们用 PHP 做所有事情。我不认为他真的是正确的,因为从它的声音来看,hrefs 对你正在做的事情非常满意。我们主要使用 switch case 语句通过 AJAX 将 POST 语句传递给自己,然后通过独立的 case 处理它们。这方面的一个例子是

if (isset($_POST['whatever'])) {
switch($_POST['whatever']) {
case "1":
//I can now do something if the POST variable passed as "whatever" was deemed '1"
break;
case "2":
//I can do something if the POST variable pass as "whatever" was deemed "2"
break;

等等等等……

因此,它的两个主要优点是它使它变得非常简单,因为您不必处理数百万个 href 站点。我敢肯定,对于您的应用程序来说,这可能没什么大不了的,但是当您真正开始执行每个网站彼此非常相似的大型项目时,很高兴知道您可以依靠 php 的动态框架。另一个优点是人们看不到你的代码 ^_^ 如果我查看源代码并看到大量的 href 链接,我可能会更多地了解你的文件树结构,但这从来都不是好事(那里是通过重定向和使用 PHP/javascript 来解决这个问题的方法,但是是的......)

总的来说,虽然他是你的教授,但只是为了让你知道你想要达到的目标,hrefs 完全没问题。我知道很多专业网站,如 Yahoo 甚至 Stackoverflow 都使用 href 链接他们的网站(只需在相关问题中查看左侧。它们都使用 href 链接)。

您说计算机课程希望您创建一个完整的 PHP Web 系统,只是为了让您知道计算机课程通常是用于教育而不是实际实用性。我认为您通过提问是在做正确的事情,但是为了上课,您的教授可能会鼓励您学习 PHP,尽管它不是最好的方法(尽管这总是主观的)。也许您可以找到一种方法来找到一个可以在 PHP 中进行开发但仍然使用 hrefs 的中间地带?希望这可以帮助。

于 2012-12-10T21:12:56.350 回答
-1

你的问题不是很清楚,但对我来说。我所要做的就是使用 swich 作为菜单。

if(isset($_GET['id']) && !empty($_GET['id'])) {                     

    $id = htmlentities($_GET['id']);                    
    $id = mysql_real_escape_string($_GET['id']);


    switch($id) {


        case "about";       // About us
        echo $about;
        break;
case "timeline";        // About us
echo include('timeline.php');
break;
            case "participate";     // Rules
            echo  $participate;
            break;
case "reg_success";     // Register Success     
echo $reg_success;
break;

    default:    // Contribution
    echo err('Page not Found!');
    break; 
于 2012-12-10T20:54:41.803 回答