• Acasă
  • Despre noi
  • Autori
  • Mărturii
  • Arhivă
  • Trimite Articol
  • Contact

WORLDIT

Lumea în 1 și 0.

  • Știri
    • Tehnologie
    • Tehnologie mobilă
    • Securitate
    • Developers
    • Știință
    • Benzi desenate
    • Jocuri
    • Intern
  • Tehnic
    • Browser
    • C#
    • C/C++
    • Challenge
    • HTML/CSS
    • Javascript, Ajax, jQuery
    • Open Source
    • PHP
    • Python
    • Securitate IT
    • Socializare
    • WordPress
    • Altele
  • Recenzii
  • Interviuri
  • Evenimente

Incarcarea claselor in obiecte dinamic – PHP

0
  • Publicat de Andrei Avădănei
  • în Fără categorie
  • — 15 oct., 2009 at 7:02 pm

Dupa cum am promis voi continua seria de articole ceva mai complicate si care axeaza cateva lucruri inovative si mai rar intalnite si dezvoltate pe internet. Astazi vom lucra cu clase dinamice si cum incarcarea dependetelor(clasele) ca obiecte si a resurselor lor se poate face mult mai profesionist si mai interesant din punct de vedere al codului.

Probabil majoritatea dintre voi incarca spre exemplu o clasa sub forma aceasta :

include('fisier_clasa.php');
$obiect = new clasa(argumente);

Sa ne imaginam ca lucram la CMS modular. Acolo numarul de clase folosite va fi destul de mare si poate nu dorim sa avem o pagina doar de forma : include fisier -> instantiaza obiect, sau poate dorim sa incarcam anumite clase doar la un anumit moment, codul ar avea o estetica negativa in aceste cazuri.Am creat o mica functie care va incarca obiecte „dinamic” si va crea un cod mai profesionist si avansat dupa parerea mea, acum astept confirmarile dumneavoastra ca este asa.

private function loadClass($classNameHandler = '',$classFile = '',$className = '',$args = array())
 { 
      $arguments = '';
      foreach($args as $argK => $argV)
      {
            if($arguments != '') $arguments .= ','; 
            $arguments .= "\$args[".$argK."]";
       }

       $code = $classNameHandler . ' = new ' . $className . '(' . $arguments . ');';
       if(!class_exists($className))
      {
           if(file_exists($classFile)) include_once($classFile);
           else throw new cException('Invalid File Class.');

           if(!class_exists($className))
           throw new cException('Invalid Class Definition.');
      }

      if(@eval('return TRUE;' . $code) !== TRUE) throw new cException('Invalid Arguments or Class Handler allready used.');
      eval($code);         
 }

Mentionez ca functia loadClass() are ca dependenta clasa cException studiata data trecuta pentru tratarea erorilor de genul : fisier , argumente , definirea clasei etc.
Functia are 4 parametri :

$classNameHandler : numele obiectului
$classFile : numele fisierului in care exista resursele(optional)
$className: numele clasei ce vrem sa o incarcam in obiect
$args : un vector cu valorile argumentelor [$args = array(arg1,arg2,arg3 … argn)]

O apelare a clasei Exemplu si incarcarea acesteia in obiectul $obiect_exemplu, ce are doua argumente si are ca resursa fisierul ex.php este acesta :

     loadClass('$obiect_exemplu','ex.php','Exemplu',array('valoare1','valoare2'));

Etichete: clasedinamiceficientaobiectePHPTehnic

— Andrei Avădănei a scris 1246 articole

Andrei scrie pe worldit.info din vara lui 2011. Este fondatorul Asociatiei Centrul de Cercetare in Securitate Informatica din Romania - CCSIR si coordoneaza DefCamp, cea mai importanta conferinta de securitate informatica & hacking din Europa Centrala si de Est. Andrei ofera in cadrul Bit Sentinel servicii de securitate informatica, penetration testing, security management, recuperarea de pe urma unui atac cibernetic, training-uri si workshop-uri.

  • Articolul anterior Un smartphone si un mini-laptop de la Acer cu sistemul Android
  • Articolul următor Un inginer vrea sa modifice tabelul lui Mendeleev

  • Facebook

    WorldIT.info
  • Ultimele Atacuri Cibernetice din Romania – RO Hacked

    [wp_rss_retriever url="https://rohacked.bit-sentinel.com/feed/" excerpt="none" items="5" read_more="false" new_window="true" thumbnail="false" cache="0"] RO Hacked este registrul atacurilor cibernetice din România.
  • Caută

  • Articole Recomandate

    • Recent Posts
    • Tags
    • Număr record de participanți la DefCamp 2015, cel mai important eveniment dedicat securității cibernetice din Europe Centrala si de Estdecembrie 2, 2015
    • La DefCamp 2015 vei afla prin ce tehnici pot fi evitate măsurile de securitate ale sistemelor informatice criticeoctombrie 16, 2015
    • Ultima sansa sa rezervi bilete de tip Early Bird la DefCamp 2015septembrie 1, 2015
    • 15 sfaturi despre cum poti deveni un programator bun venite de la specialisti romaniaugust 4, 2015
    • algoritmica Android antivirus Apple Avadanei Andrei benzi desenate BitDefender blog browser C++ Chrome concurs eveniment Facebook Firefox Google google chrome hacking html5 infografic informatica internet Internet Explorer IT javascript linux Microsoft Mozilla Firefox online PHP programare retea sociala review Romania securitate Tehnologie Twitter web Windows Windows 7 Wordpress WorldIT worldit.info Yahoo! YouTube
  • august 2022
    L Ma Mi J V S D
    1234567
    891011121314
    15161718192021
    22232425262728
    293031  
    « dec.    
  • Link-uri Sponsorizate

    • laptop second hand

    • Calculatoare Second Hand

    • cod voucher pc garage

  • Home
  • Incarcarea claselor in obiecte dinamic – PHP
  • Important

    • Bit Sentinel
    • Centrul de Cercetare în Securitate Informatică din România
    • DefCamp
  • Prieteni

    • BetiT.ro
    • bijuterii handmade
    • Computerica | Resurse gratuite PC
    • Descopera.org
    • Gadgeturi si IT – Giz.ro
  • Prieteni

    • PC – Config
    • RO Hacked
    • Stiri IT

Copyright © 2009-2014 WORLDIT. Toate drepturile Rezervate.
Termeni și condiții | Contact | Licența Creative Commons