Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为了使用其他脚本而请求index.php是否是错误的做法_Php_Performance_Code Structure - Fatal编程技术网

为了使用其他脚本而请求index.php是否是错误的做法

为了使用其他脚本而请求index.php是否是错误的做法,php,performance,code-structure,Php,Performance,Code Structure,使用index.php作为其他脚本的加载程序是不好的,还是会有所不同 i、 e.使用不同的查询字符串及其内部请求index.php,选择并包含匹配脚本 e、 g www.example.com/?登录,而不是www.example.com/sign-in.php www.example.com/?new post代替www.example.com/new-post.php 通过这种方式,您可以使用index.php执行常见的包含和处理,如设置时区、mb编码、DB连接、身份验证等。最佳做法是让ap

使用index.php作为其他脚本的加载程序是不好的,还是会有所不同

i、 e.使用不同的查询字符串及其内部请求index.php,选择并包含匹配脚本

e、 g

www.example.com/?登录,而不是www.example.com/sign-in.php www.example.com/?new post代替www.example.com/new-post.php


通过这种方式,您可以使用index.php执行常见的包含和处理,如设置时区、mb编码、DB连接、身份验证等。

最佳做法是让apache将所有URL重写为index.php或其他一些文件,您可以将其用作引导。此引导程序运行所有基本代码,然后此引导程序可以根据url确定要执行的其他操作

每个框架都是这样工作的

您可能希望在引导过程中执行以下几项操作:

设置,自动加载类

设置mysql连接

检查用户是否针对特定操作进行了身份验证

有许多关于使用apache重写URL的教程:


如果你真的想了解最佳实践,我建议你看看现有的框架,看看它们是如何实现某些东西的。例如:Zend或Symfony的最佳实践是让apache将所有URL重写为index.php或其他文件,您可以将其用作引导。此引导程序运行所有基本代码,然后此引导程序可以根据url确定要执行的其他操作

每个框架都是这样工作的

您可能希望在引导过程中执行以下几项操作:

设置,自动加载类

设置mysql连接

检查用户是否针对特定操作进行了身份验证

有许多关于使用apache重写URL的教程:

如果你真的想了解最佳实践,我建议你看看现有的框架,看看它们是如何实现某些东西的。例如:Zend或Symfony是和否

问题是这样做会失去任何SEO价值,例如:domain.com/index.php?post=story与domain.com/post/story相比排名很低。另外,index.php很快就会变得一团糟

也就是说MVC通常使用index.php,所以我的url应该是domain.com/users/edit/123,这是一个非常符合逻辑的url,但实际上被称为domain.com/index.php,然后它会查看第一个参数,用户并实例化用户控制器,然后在其中查找函数edit,并将123用户id作为函数中的第一个参数传递。如果您不熟悉MVC,我建议您先使用codeigniter

最终,您将通过从头开始构建来重新发明轮子,而不是使用MVC使开发变得更容易

是和否

问题是这样做会失去任何SEO价值,例如:domain.com/index.php?post=story与domain.com/post/story相比排名很低。另外,index.php很快就会变得一团糟

也就是说MVC通常使用index.php,所以我的url应该是domain.com/users/edit/123,这是一个非常符合逻辑的url,但实际上被称为domain.com/index.php,然后它会查看第一个参数,用户并实例化用户控制器,然后在其中查找函数edit,并将123用户id作为函数中的第一个参数传递。如果您不熟悉MVC,我建议您先使用codeigniter


最终,您将通过从头开始构建来重新发明轮子,而不是使用MVC使开发变得更容易

这是最好的方法。你可以控制你的网站。 创建index.php并根据需要包含其他文件。 定义一个常量并在包含的文件中使用它,等等 但是请记住尽可能地最小化index.php。
您还可以使用Apache mod_rewrite生成SEO友好的URL。

这是最好的方法。你可以控制你的网站。 创建index.php并根据需要包含其他文件。 定义一个常量并在包含的文件中使用它,等等 但是请记住尽可能地最小化index.php。
您还可以使用Apache mod_rewrite生成SEO友好的URL。

而不是通过htaccess to index.php路由所有请求,您还可以拆分路由以映射到其他文件:

/blog/hello there映射到blog.php?title=hello there

/登录到login.php的映射?登录

等等,因此您可以根据请求URL创建自己的简单路由;易于阅读和维护


此解决方案适用于小型项目,对于大型项目,我建议使用完整的框架,如Yii或Symfony。

而不是通过htaccess to index.php路由所有请求,您还可以拆分路由以映射到其他文件:

/blog/hello there映射到blog.php?title=hello there

/登录到login.php的映射?登录

等等,因此您可以创建自己的简单ro 基于请求URL的查询;易于阅读和维护


此解决方案适用于小型项目,对于较大的项目,我建议使用完整的框架,如Yii或Symfony。

此问题更适合程序员。stackexchange.com我不认为这是一种不好的做法。这实际上就是MVC方法的基础。我认为让调度器处理请求而不是为实际文件提供服务是一个不错的主意。这个问题更适合程序员。stackexchange.com我不认为这是一个坏做法。这实际上就是MVC方法的基础。我认为让调度器来处理请求而不是为实际文件提供服务是一个不错的主意。对php路由和mod_rewrite进行一些研究。对php路由和mod_rewrite进行一些研究。虽然MVC是一种用于web开发的固定模式,但在小项目中使用大框架通常会有些过火。首先,我提倡使用index.php,并通过index.php学习URL的路由,这正是OP所寻求的。在我看来,CI非常轻,但每个都有自己的。我没有说重,但我说大,因为它是完整的,但会迫使你进入MVC。Slim是一个很好的起点,因为它更灵活。我回答的全部要点是摆脱手工布线,让MVC为您做一切。虽然您可能是对的,但您失去了一些灵活性,可以很容易地快速构建任何大小的应用程序。此外,CI在未来的扩展性也会更好。但若你们只需要一个小型企业内部网站的url路由,那个么正如我所说的,MVC是一种过火的选择。此外,如果您已经有一组独立脚本,希望通过url路由将其合并到单个门户中,则无法应用MVC。因此,您最好选择一个小型、智能的框架(如Slim),而不是手动路由。虽然MVC是一种用于web开发的固定模式,在小项目中使用大框架通常是过分的。首先,我提倡使用index.php,并通过index.php学习URL的路由,这正是OP所寻求的。在我看来,CI非常轻,但每个都有自己的。我没有说重,但我说大,因为它是完整的,但会迫使你进入MVC。Slim是一个很好的起点,因为它更灵活。我回答的全部要点是摆脱手工布线,让MVC为您做一切。虽然您可能是对的,但您失去了一些灵活性,可以很容易地快速构建任何大小的应用程序。此外,CI在未来的扩展性也会更好。但若你们只需要一个小型企业内部网站的url路由,那个么正如我所说的,MVC是一种过火的选择。此外,如果您已经有了一组独立脚本,希望通过url路由将它们合并到单个门户中,则无法应用MVC。因此,您最好选择一个小型、智能的框架(如Slim),而不是手动路由。