我可以在没有PHP的类中自动加载函数文件吗?
|
我的网站非常大,我不使用
PHP类,我不明白OO足够好重新编写我的网站使用它们但是我真的很想使用它
所有这些文件只是特定于站点某个部分的函数,除了general.inc.php将具有需要在任何页面上的函数. 现在有没有我可以使用自动加载或类似的东西加载这些功能文件?我曾经考虑过根据URL做这件事,比如如果URL中有论坛这个词,我会加载论坛功能文件,但这并不总是有效,因为与论坛相关的文件没有在这里的URL论坛. 在我学习编写OO以便将所有函数放入类之前,我几乎没有选择吗? //example of the autoload
function __autoload($class_name){
include('classes/' . $class_name . '.class.php');
}
$time = new time();
$time->fn1();
说实话,我认为你不能以一种直截了当的方式.无论如何,使用实用程序类不是更好吗? OOP没什么,看看这个:
<?php
class HTMLUtil {
public static function filter($str) {...}
public static function entities($str) {...}
public static function encode($str) {...}
...etc...
}
?>
将相关功能组合在一起的静态助手/实用程序类很容易组合在一起,只需将您的函数声明为
现在你可以使用__autoload了.您不必实例化这些类以使用它们的任何静态函数,它使您的代码更具可读性(如果稍微冗长一点).我总是觉得做以下事情更令人满意: echo HTMLUtil::filter($str); 代替: echo filter($str); //scary filter function,where are you from? 如果需要,您还可以在实用程序类中声明一个私有构造函数,以防止它们被实例化,以强调它们的“只是一堆相关函数”: private __construct() {...}
要从同一个类中的另一个函数调用静态函数,您可以使用self关键字(引用相同的类,而不是对象或类实例)来执行此操作: public static function foo()
{
echo self::bar() . '..and some foo';
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
