www.www.zaachi.com »  Blog/Php  »  (Ne)Objektové programování v PHP

(Ne)Objektové programování v PHP



Jde ještě v dnešní době programovat v PHP neobjektově (imperativně)?

 

Reklama

Pokud mě chcete podpořit a jste milovník jedné stopy, navštivte můj projekt: MotoArena.cz

Zaujala mě diskuse na WebTrhu, ve které někteří uživatelé objevili objektové programování v PHP. http://webtrh.cz/6...ramovani

psaci stroj  

Konkrétně mě zaujalo několik výroků:

"(OOP) je nová metodika v programovaná založená na objektech"
- určitě ne. Možná ve spojení s PHP se o objektovém programování dříve nedalo moc mluvit, ale nová metodika?

"je to kvalitnější způsob zdrojového kódu programu, že je to jeden z novějších způsobů zápisu"
- kvalitnější ani ne, spíše záleží na samotném programátorovi, na jeho uvažování a zkušenostech. Objektový kód se dá napsat stejně kvalitně jako strukturální a naopak, důležité je se správně rozhodnout, kdy použít který způsob.

"ještě zhruba před 5 lety se OOP považovalo za velmi složitou tématiku"
- určitě ne. Na objektovém programování není nic složitého a nikdy nebylo. Možná nebylo tolik kvalitní literatury, ale i tak se objektové programování používalo v plné míře.

"A jaký je Váš názor na využívání objektově orientovaného programování?" (zřejmě myslel v PHP)
- ono to jde i jinak? Jde v PHP v dnešní době programovat efektivně bez používání některého kvalitního frameworku (== bez používání objektů)?

 

Znáte tyhle lidi? Kteří o sobě říkají "programátoři" a jediné co umí je několik základních příkazů v PHP a několik tagů v HTML, z čehož nejoblíbenější je příkaz echo, který řeší téměř vše:

echo "$variable: $_POST[post]";

A i když nic neumí, snaží se poučovat ostatní.

Ale samozřejmě ani objekty nejsou všechno. Ba naopak, nevhodně použité objekty jsou někdy spíš na škodu:

class GetAjaxValue
{
    private $_get = array();
    private $_id = array('val1', 'val2', 'val3');
    private $_result = 0;

    public function __construct($get = array())
    {
        $this->_get = $get;
        $this->_Calc();
    }

    private function _Calc()
    {
        foreach( $this->_get as $id => $value )
        {
            if( array_key_exists($id, $this->_id) )
            {
                $this->_result += (int)$value;
            }
        }
    }

    public function GetResult()
    {
        if( $this->_result > 0 )
        {
            return $this->_result;
        }

        return false;
    }
}

$template = new Template('ajax_result.tpl');

$ajax = new GetAjaxValue($_GET);
$template->SetVar('res', $ajax->GetResult());

Důležítá je logika člověka, a jeho schopnost učit se ze skušeností.

 

 


linkuj topclanky
Komentáře (4)

Autor: Zaachi
Publikováno: 11.11.2009 13:14:45
TOPLIST.cz

rss coments img img img