常规路由写法:
假设项目名称和文件夹叫t3
但是我们通常会把程序逻辑写在控制器类中。
首先,修改composer.json
让我们有个放自己程序的类文件的地方。
然后在cmd下,
cd t3
composer install
然后
建立目录,src已存在,建立src\app\control
然后在src\app\control下建立Test.php
修改 src/routs.php
然后,打开浏览器
http://www.t3.com/home/s
$app->get('/hello/{name}', function (Request $request, Response $response) {
$name = $request->getAttribute('name');
$response->getBody()->write("Hello, $name");
return $response;
});
假设项目名称和文件夹叫t3
但是我们通常会把程序逻辑写在控制器类中。
首先,修改composer.json
让我们有个放自己程序的类文件的地方。
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/",
"app\\": "src/app/"
}
}
然后在cmd下,
cd t3
composer install
然后
建立目录,src已存在,建立src\app\control
然后在src\app\control下建立Test.php
<?php
namespace app\control;
// use \Psr\Http\Message\ServerRequestInterface as Request;
// use \Psr\Http\Message\ResponseInterface as Response;
class Test {
public function a1( $req, $res, $args) {
// 获取 root URI
echo '$uri = $req->getUri()';
echo "<br>";
echo $req->getUri();
echo "<hr>";
$uri = $req->getUri();
echo '$uri->getScheme()';
echo "<br>";
echo $uri->getScheme();
echo "<br>";
echo '$uri->getAuthority()';
echo "<br>";
echo $uri->getAuthority();
echo "<br>";
echo '$uri->getUserInfo()';
echo "<br>";
echo $uri->getUserInfo();
echo "<br>";
echo '$uri->getHost()';
echo "<br>";
echo $uri->getHost();
echo "<br>";
echo '$uri->getPort()';
echo "<br>";
echo $uri->getPort();
echo "<br>";
echo '$uri->getPath()';
echo "<br>";
echo $uri->getPath();
echo "<br>";
echo '$uri->getBasePath()';
echo "<br>";
echo $uri->getBasePath();
echo "<br>";
echo '$uri->getQuery()';
echo "<br>";
echo $uri->getQuery();
echo "<br>";
echo '$uri->getFragment()';
echo "<br>";
echo $uri->getFragment();
echo "<br>";
echo '$uri->getBaseUrl()';
echo "<br>";
echo $uri->getBaseUrl();
echo "<br>";
return $res;
}
}
修改 src/routs.php
<?php
$app->get('/home/s', '\app\control\Test:a1' );
然后,打开浏览器
http://www.t3.com/home/s