如果你可以删除php的一个功能来帮助新手,它会是什么?

时间:2010-05-15 20:51:55

标签: php

如果你可以从PHP中删除一个功能,以阻止,阻止或以其他方式帮助阻止新程序员养成不良习惯或做法,或者阻止他们陷入可能妨碍他们开发技能的陷阱,那会是什么?为什么?

现在,在投票结束之前,它并不像你想象的那样开放。

我并不是纯粹地问什么是最糟糕的功能,或者你真的想要什么功能完全随意删除。是的,可能没有一个正确的答案,但我怀疑会有很多类似的答案,这些答案会让我对我可能做错的事情有所了解,即使是在不经意间也是如此。

5 个答案:

答案 0 :(得分:6)

几乎所有php.ini。 90%的选项都没有理由存在,特别是涉及自动输入的选项。

答案 1 :(得分:5)

mysql_query(),因为有太多糟糕的教程,从不提及转义。 Poeple应该切换到PDO并参数化SQL。

答案 2 :(得分:1)

这可能是一个奇怪的选择,但如果我必须选择一个能够吸引最多新手的功能,我会说INCLUDE_PATH

经验丰富的软件开发人员熟悉路径结构。几乎所有其他编程语言和操作系统接口都有搜索路径功能:shell PATH,Java类路径,Perl @INC等。但是,大量的新手只是不明白如何使用或解决这个非常常见的功能。

为了新手,我强迫他们在每次调用requireinclude时写出完整的绝对路径名。

答案 3 :(得分:0)

我投票支持弱动态类型,我会用强大的静态类型代替。这将有助于这么多人,而不仅仅是新手......

由于评论而编辑:

是的,我会替换打字。像Java / C#这样的其他语言中可以找到强大的静态类型,带来了更多安全性,并且令人惊讶地提高了代码的可读性。让我解释一下:

//Usual code anyone can have 
function myFunction($arrayOfInts, $string)
{
    if( !is_array($arrayOfInts) )
        throw Exception();
    if (!is_string($string))
        throw Exception();
    foreach($arrayOfInts as $supposedInt)
        if ( !is_int($supposedInt) )
            throw Exception();

    /* Only now is business code. Oh wait no, you need to ensure
    that these parameters follow your business rules (e.g. : $supposedInts < 5, etc..) */

}

//More readable code :
function myFunction(Array<int> $arrayOfInts, String $string)
{
    //Easier no ?

}

我甚至不谈安全问题。因为使用空字符串作为数学函数的参数而发生了很多错误/错误...

仍然认为这会不好?

答案 4 :(得分:-1)

我将删除当前的函数命名方案。