我正在撰写我的第一个大项目。
我有一个带有许多链接的导航栏,现在链接到" index.PHP?a = value& b = value"
在我的索引页面上,我有以下内容:
if((($_GET['a']) == "value") && (($_GET['b']) == "value")) {
*** soms code ***
}
if((($_GET['a']) == "value") && (($_GET['b']) == "value2")) {
*** soms code ***
}
等等...
但是有50个更多的链接我的index.PHP文件会有点混乱。
我考虑将代码更改为:
if((($_GET['a']) == "value") && (($_GET['b']) == "value")) {
include("somefile.php");
}
Wat是最好的解决方法吗?也许onclick = ..?
请您对此有所了解
答案 0 :(得分:0)
你可以这样简化
self.viewController.performSegueWithIdentifier("DOES_NOT_EXIST", sender: self)
或者如果您想将代码放在更多文件中,请尝试以下方法:
if ($_GET['a'] == "value") {
if ($_GET['b'] == "value") {
*** soms code ***
} elseif ($_GET['b'] == "value2") {
*** soms code ***
} elseif ($_GET['b'] == "value3") {
*** soms code ***
}
// ...
}
答案 1 :(得分:0)
你写了一个大项目。你为什么不使用一个严肃的框架作为Laravel等?这使得制作可扩展和可维护的应用程序变得不那么复杂。
从索引中分离路由。单独的职责(演示,业务逻辑等)
阅读有关Laravel中有效路由的更多信息:http://laravel.com/docs/master/routing#basic-routing
答案 2 :(得分:0)
这是很久以前解决的问题。在现代框架中,它被称为路由,你可以查找它。
一个简化的例子是将数组映射到系统上的文件,然后调用一个函数来包含相应的文件。
$routes = [
'value1' => ['value1' => 'file1.php'],
'value2' => ['value2' => 'file2.php']
]
function route($value1, $value2) {
global $routes;
require($routes[$value1][$value2];
}
然后在index.php中你只需要调用
route($_GET['a'], $_GET['b']);
这个例子不是字面意思,只是一个例子
正如另一个答案中所建议的那样,考虑使用框架可能是个好主意。它们存在是有原因的。