动态php子页面

动态php子页面,php,content-management-system,Php,Content Management System,我想知道如何通过php创建子页面。我知道有一种方法是使用GET参数,例如: example.com/index.php?category=1 我对instagram.com上的功能更感兴趣: instagram.com/example 下面的示例是如何生成的?这个系统是如何工作的 我想有一个简单的页面,根据破折号后的标识符显示内容。另外,他们如何删除每个专业网站上的.php扩展名 提前感谢这是使用MVC框架完成的,如laravel、codeigniter等。有许多不同的方法可以实现您想要的

我想知道如何通过php创建子页面。我知道有一种方法是使用GET参数,例如:

example.com/index.php?category=1
我对instagram.com上的功能更感兴趣:

instagram.com/example
下面的示例是如何生成的?这个系统是如何工作的

我想有一个简单的页面,根据破折号后的标识符显示内容。另外,他们如何删除每个专业网站上的.php扩展名


提前感谢

这是使用MVC框架完成的,如laravel、codeigniter等。有许多不同的方法可以实现您想要的

列出了其中的一些

使用MVC有很多优点,包括对页面采用良好的结构,并且可以在预构建的包中为您提供所需的功能

我建议你做一些调查,比如拉威尔,看看你进展如何


您还可以像其他人在htaccess文件中所述的那样更改apache配置。

这是使用MVC框架(如laravel、codeigniter等)完成的。有许多不同的方法可以实现您想要的

列出了其中的一些

使用MVC有很多优点,包括对页面采用良好的结构,并且可以在预构建的包中为您提供所需的功能

我建议你做一些调查,比如拉威尔,看看你进展如何


您还可以像其他人在htaccess文件中所述的那样更改apache配置。

您正在寻找的是
URL重写。根据您使用的
HTTP服务器
,有几种方法可以实现这一点

最常用的HTTP服务器是Apache

创建包含以下内容的php文件:

<?php
phpinfo();
?>

用浏览器打开页面,您应该能够看到正在运行的HTTP服务器。搜索
SERVER\u软件
,其中必须显示类似于
Apache
Nginx
LightHTTP
的内容

如果服务器使用的是apache,您应该在谷歌上搜索
apachephp.htaccess url重写
其他方面,您可以搜索
[服务器软件]php url重写
[服务器软件]php漂亮url


在互联网上有很多人曾经问过同样的问题,所以我想你可以在这里帮助自己。祝你好运

您正在寻找的是
URL重写
。根据您使用的
HTTP服务器
,有几种方法可以实现这一点

最常用的HTTP服务器是Apache

创建包含以下内容的php文件:

<?php
phpinfo();
?>

用浏览器打开页面,您应该能够看到正在运行的HTTP服务器。搜索
SERVER\u软件
,其中必须显示类似于
Apache
Nginx
LightHTTP
的内容

如果服务器使用的是apache,您应该在谷歌上搜索
apachephp.htaccess url重写
其他方面,您可以搜索
[服务器软件]php url重写
[服务器软件]php漂亮url


在互联网上有很多人曾经问过同样的问题,所以我想你可以在这里帮助自己。祝你好运

这是通过一种称为URL路由的技术完成的。有几种方法。要弄清楚instagram到底是如何做到这一点的并不容易

以下是一个非面向对象方法的好例子:

大多数php框架(Laravel等)也提供了这种未来

就我个人而言,现在我正在使用一个名为AltoRouter的php包

我想还有很多其他的方法

使用ALTO路由器:

基本逻辑是,你正在将url映射到一个带有方法(post、get)的“对象”,哪个控制器将处理它,控制器方法是什么

$router->map('GET','/example', 'Controllers\ExampleController@getShowExamplePage' ,'example' );
还有一个带有getShowExamplePage()方法的ExampleController类

在ur index.php文件中

检查用户输入的url是否在映射的$router对象中

$match = $router->match();//it returns true or false

if(!match)
{
   //--
          u can redirect a error 404 PAGE
   //---
}

else

{ 
//Example the use entered url www.example.com/example

list($controller,$method) = explode("@",$match['target']);//To get what is the controller and its method.
    //If  that method of the contoller avaliable run that method
    if(is_callable(array($controller,$method))){
      $object = new $controller();



      call_user_func_array(array($object ,$method) , array($match['params']));

    }else {
      echo "Cannot find $controller-> $method";
      exit();
    }





}

简单地说,你正在利用“面向对象编程”的优势。这是通过一种叫做URL路由的技术实现的。有几种方法。要弄清楚instagram到底是如何做到这一点的并不容易

以下是一个非面向对象方法的好例子:

大多数php框架(Laravel等)也提供了这种未来

就我个人而言,现在我正在使用一个名为AltoRouter的php包

我想还有很多其他的方法

使用ALTO路由器:

基本逻辑是,你正在将url映射到一个带有方法(post、get)的“对象”,哪个控制器将处理它,控制器方法是什么

$router->map('GET','/example', 'Controllers\ExampleController@getShowExamplePage' ,'example' );
还有一个带有getShowExamplePage()方法的ExampleController类

在ur index.php文件中

检查用户输入的url是否在映射的$router对象中

$match = $router->match();//it returns true or false

if(!match)
{
   //--
          u can redirect a error 404 PAGE
   //---
}

else

{ 
//Example the use entered url www.example.com/example

list($controller,$method) = explode("@",$match['target']);//To get what is the controller and its method.
    //If  that method of the contoller avaliable run that method
    if(is_callable(array($controller,$method))){
      $object = new $controller();



      call_user_func_array(array($object ,$method) , array($match['params']));

    }else {
      echo "Cannot find $controller-> $method";
      exit();
    }





}

简单地说,你是在利用“面向对象编程”的优势。

这些类型的“漂亮”URL很多都利用了apache重写规则和“.htaccess”文件。然后,重写规则将传入的url重写为类似example.com/index.php?category=1的内部内容,并执行index.php。这需要一些学习才能使用。这里有一个指向apache重写内容的链接。许多此类“漂亮”URL利用了apache重写规则和“.htaccess”文件。然后,重写规则将传入的url重写为类似example.com/index.php?category=1的内部内容,并执行index.php。这需要一些学习才能使用。这里有一个指向apache重写的链接,谢谢,我想就这样了!谢谢,我想就这样了!