我正在编写php代码,以便定义一些信息(在一个HTMl页面的开头),然后在整个页面中使用定义的变量。
如果我有一些和平的代码,应该被反复调用,那么毫无疑问,我使用函数。但在这种情况下,我问的是代码,它只在页面上运行一次,并定义了一些信息,将在以后使用。但我试图弄清楚,什么是最好的做法。
在一种情况下,我写了所有的代码,创建getsprocesses信息,只是自己。
$x = 10;
$select = $db->some_query (that is pseudo code...)
$x = $x + $select;
echo $x;
在另一种情况下,我把它按照它的含义隔离成不同的函数。然后只是调用这些函数,从脚本的开始。在这种情况下,我必须使变量,我想在其他地方使用,全局。
define_x_variable($db);
function define_x_variable($db) {
global x;
$x = 10;
$select = $db->some_query (that is pseudo code...)
$x = $x + $select;
}
echo $x;
所以,为什么我使用第二种方法,原因是:
$select
变量没有在这个函数之外定义。所以,如果我决定在其他情况下再次使用这个变量,我就不必覆盖它。而且我也不会意外地使用它之前的含义)$x
),这是我自己定义的。所以,唯一的问题是,我不确定这样编码是否是个好做法。我读到,全局变量的名声很不好,不建议使用。而且我认为,我可能把事情搞得太复杂了。
那么有什么更好的方法呢?
你的第二个选择是最好的方法。
你自己应用了分离关注的原则
如果你有兴趣的话,你可以去看看PHP框架,比如Symfony,它努力为代码提供一些goos结构。
你应该总是提供干净的井井有条的代码,功能仅限于一小块工作。然后你就可以把它做得很完美,最后得到一个更可维护的软件。
所以,首先要有良好的组织,如果有的话,看看性能问题。
我更愿意写一个函数来解决这个问题。只是因为,如果你想要任何 变化 中,这将是很容易的,当我们的应用程序中的某个地方需要这个相同的功能时,我们可以用 再利用 这个。
最好选择函数写作。
谢谢你