以下是一个简单的PHP应用实例,通过路由的方式处理不同URL的请求。我们将使用基本的路由规则来区分不同的请求,并在相应的控制器中处理它们。

1. 项目结构

我们需要创建一个基本的目录结构:

实例路由搭建PHP应用详解 网络安全

```

/project-root/

├── app/

│ ├── controllers/

│ │ ├── HomeController.php

│ │ └── ProductController.php

│ │

│ ├── routes/

│ │ └── routes.php

│ │

│ └── views/

│ ├── home.php

│ └── product.php

└── public/

└── index.php

```

2. 创建控制器

控制器负责处理特定路由的请求。以下是我们将使用的两个控制器:

HomeController.php

```php

namespace App""Controllers;

class HomeController

{

public function home()

{

return 'Welcome to the Home Page!';

}

}

```

ProductController.php

```php

namespace App""Controllers;

class ProductController

{

public function product()

{

return 'This is the Product Page!';

}

}

```

3. 创建路由文件

路由文件定义了URL和控制器方法之间的映射。以下是`routes.php`的

```php

namespace App""Routes;

use App""Controllers""HomeController;

use App""Controllers""ProductController;

class Routes

{

public static function init()

{

$routes = [

'/' => 'HomeController@home',

'/product' => 'ProductController@product',

];

foreach ($routes as $uri => $action) {

$parts = explode('@', $action);

$controller = $parts[0];

$method = $parts[1];

require_once __DIR__ . '/..' . '/app/controllers/' . $controller . '.php';

$controllerInstance = new $controller();

echo $controllerInstance->$method();

}

}

}

```

4. 启动应用程序

我们需要在`public/index.php`中设置路由:

```php

require_once __DIR__ . '/..' . '/app/routes/routes.php';

Routes::init();

```

5. 测试路由

现在,如果你在浏览器中访问`/`,你将看到“Welcome to the Home Page!”的输出。如果你访问`/product`,你将看到“ This is the Product Page!”的输出。

URLControllerMethod
/HomeController@home
/productProductController@product