Kategorija: Zend Framework

Zend Framework Per-Module balstītus iestatījumus

Ar , piektdiena 1 Jan 2010 22:40

Esmu izveidojis follow uz šo amatu, kas prasa mazāk konfigurācija, lūdzu, skatiet modulis balstās Layout - Zend Framework .

Izmantojot Zend Framework ar moduļiem, tā skaidrs, ka, ja jūs darbojas dažādas (sub-) vietām pie pašas pieteikumu jūs ne vienmēr vēlas to pašu izkārtojumu skripti par katru daļu. Es izlēmu iet ar šādu vietnes struktūrā:

  / Application
     / Kontrolieri
         ...
     / Modeļiem
     / Moduļi
         / Default
             / Kontrolieri
             / Layout
                 / Scripts
             / Viedokļi
                 / Scripts
         / AnotherModule
             ...
     / Scripts

Problēma bija izveidot izkārtojumu skriptus par katru moduli atsevišķi. Atbilde nāca, izmantojot, izmantojot rīcības Helper. Izveidojot izkārtojumi par vienu moduli pamats ietver trīs darbības:

  1. Application.ini (vai līdzīgas konfigurācijas setup):
      admin.resources.layout.layoutPath = APPLICATION_PATH "/ modules / admin / izkārtojumus / scripts"
     default.resources.layout.layoutPath = APPLICATION_PATH "/ modules / default / izkārtojumus / scripts"
     member.resources.layout.layoutPath = APPLICATION_PATH "/ modules / biedrs / izkārtojumus / scripts"
     affiliate.resources.layout.layoutPath = APPLICATION_PATH "/ modules / filiāli / izkārtojumus / scripts" 
  2. Izveidojiet savu rīcību Helper:
      <? Php
     / **
      * Iestata izkārtojumu ceļu uz vienu moduli pamats
      *
      * @ Author Lloyd Watkin <lloyd@evilprofessor.co.uk>
      * @ Kopš 2010/01/01
      * /
     klase Pro_Controller_Action_Helper_SetLayoutPath
         paplašina Zend_Controller_Action_Helper_Abstract
     {
         / **
          * Sets izkārtojums pamatotā ceļa moduli
          * /
         valsts funkciju preDispatch ()
         {
        	 $ Modulis = $ šīs-> getRequest () -> getModuleName ();
    
    	     if ($ bootstrap = $ šīs-> getActionController ()
    	                        -> GetInvokeArg ("bootstrap")) {
    
    	         $ Config = $ bootstrap-> getOptions ();
    
    	         if (isset ($ config [$ moduli] [resursi '] [' izkārtojums '] [' layoutPath '])) {
    	             $ LayoutPath =
    	                  $ Config [$ moduli] [resursi '] [' izkārtojums '] [' layoutPath '];
    	             $ This-> getActionController ()
    	                  -> GetHelper (izkārtojums)
    	                  -> SetLayoutPath ($ layoutPath);
    	         }
        	 }
         }
     } 
  3. Un visbeidzot boostrap darbības palīgs:
      ...
         / **
          * Izveido izkārtojums skriptus par katru moduli, pamatojoties
          * /
         aizsargājamo funkcija _initLayoutHelper ()
    	 {
    	     $ This-> bootstrap (frontController ");
    	     $ Izkārtojums = Zend_Controller_Action_HelperBroker: addHelper (
    	         jauns Pro_Controller_Action_Helper_SetLayoutPath ());
    	 }
     ... 

Mācība: DATETIME noklusējuma NOW ()

Ar , trešdiena 30. 2009 Decembris 18:30

Es esmu cīnās ar ko izveido datubāzes shēmu par jaunu Zend Framework projektu. Es esmu izmantojot mēģinot izmantot Doktrīna ORM manu datu bāzes modeļiem. Man ir nepieciešams izveidot shēmu, lai tas ļāva man, lai uzstādītu noklusēto datumu un laiku, `datetime` kolonna, piemēram, pievienojot jaunu ziņu man pašreizējā laikspiedolu. Pēc daudz meklēšanu un eksperimentējot es atklāju risinājumu, tāpēc es esmu dalīšanas to.

Savā shēmas YAML failu, vienkārši rīkojieties šādi:

 Message:
   actAs:
     Timestampable:
       izveidots:
         nosaukums: created_at
         tips: Laikspiedols
         formāts: Ymd H: i: s
       atjaunošana:
         nosaukums: last_updated
         tips: Laikspiedols
         formāts: Ymd H: i: s
   kolonnas:
     ID:
       tips: vesels skaitlis
       galvenais: patiess
       autoincrement: patiess
     nosaukums: string (255)
     e-pasts: string (300)
     ziņa: string (2000)

Ja, no otras puses, jūs nevēlaties `updated_at` ailē var izmantot šādi:

 Message:
   actAs:
     Timestampable:
       izveidots:
         nosaukums: created_at
         tips: Laikspiedols
         formāts: Ymd H: i: s
       atjaunošana:
         invalīdiem: patiess
   kolonnas:
     ID:
       tips: vesels skaitlis
       galvenais: patiess
       autoincrement: patiess
     nosaukums: string (255)
     e-pasts: string (300)
     ziņa: string (2000)

Zend Framework: pamati - pārskats

Ar , sestdiena 28 novembris, 2009 22:42

Mans darba devējs nesen samaksājis par grupu no mums izstrādātājiem, lai Zend Framework: pamati , protams, šeit es ņemšu apkopot savas domas un viedokļi par virzību uz citiem. Tiem, kas vēlas ietaupīt laiku, šeit ir mans kopsavilkums:

Par attīstītāji, kas nav bijis laika iepazīties ar Zend Framework šajā laikā (Zend Framework: Fundamentals) piedāvā labu vispārējo priekšstatu par sistēmu ievieš jums galvenās jomas un sniedzot pietiekami daudz informācijas, lai turpinātu. Tiem, kuri pavadījuši laiku meklē sistēmā un kam viens vai divi konsultācijas šajā kursā nepiedāvā daudz tālāk.

Fona

Esmu bijis PHP attīstītājs apmēram 5-6 gadiem, un ir sākušas strādāt ar Zend Framework uz komponentu, balstoties uz pēdējiem 6 mēnešiem. Esmu izstrādājusi un / vai bijis attīstītājs par pāris mazu Zend Framework MVC sites. Es būšu godīgs, man nav bijis liels iedarbības citām sistēmām no kodēšanas viedokļa, bet ir pavadījuši vairākas stundas pētot projekta tīmekļa vietnes un novērtēt them. ietvardokumentā un Kopienas apkārtējo Zend Framework ir diezgan aizraujoša, un šķiet, ka pastāv milzīgas iespējas, ja tās turpinās.

Par Kursa

Kurss ir piegādāts pa 9 divu stundu WebEx sesijas (ar 10 minūšu pārtraukumu pa vidu). Laiks tiek pavadīts, veicot virkni slaidu, ko sniedz Zend ar diskusiju jebkurā laikā. Jūs varat izmantot mikrofonu, lai sarunātos ar instruktoru, bet ja godīgi es neredzēju izmantot kāds kaut ko vairāk nekā tērzēšanas logā. Turklāt VMWare Ubuntu mašīna ir ar nosacījumu, ka ir piemēra kods un projektus, kas izveidoti izmēģinājuma versiju Zend Studio. Protams, vadītājs sarunājas ar apmeklētājiem vai nu ar integrētu VoIP risinājumu, vai arī varat zvanīt, izmantojot vienu no daudziem pasaules ripu skaita.

Kursa laikā materiāls sastāv no īsa pamatprogrammas pārskatu un MVC modelis pirms virsraksta paraugu viesu grāmatā pieteikumu. Diskusija parādīja bootstrapping, Zend_Application, DB tabulas, datu bāzu pieejamību, Veidlapas, filtrēšana, ACL, apstiprināšana, utt, utt Būtībā aptver visas tēmas jūs nepieciešama, lai iegūtu pamata vietne izveidota darbojas visu laiku sniedzot jums instrumentus, lai iet un saņemt vairāk uzlabotas ietvaros (lai gan tas bija summa "Skatīt tīmekļa vietni 'daudz laika).

Laiks ir piešķirts kods, pat daži piemēri, kā izstrādāt "viesu grāmatas" un vienkārši "wiki" pieteikumu. Personīgi es jutu, ka sniedzot kodu vai katru app, un tad jautā mums, lai attīstītu to, kas būtībā bija kopija līdzās nav īsti nodrošina labu mācību pieredzi. Būtu gribējies, lai izstrādātu pieteikumu līdzīga, taču ne identiski. uz piemēru pieteikumu ar priekšrocības, kam guide atsaukties uz. Alternatīvi būvniecības pieteikumus no nulles ar demonstrētājs būtu par, iespējams, radīja vairāk jautājumu par to, kāpēc un kādā veidā, tādējādi sniedzot labāku izpratni par sistēmu, galu galā jūs varat meklēt specifiku pēc kursa.

Pēdējā lekcija sastāvēja no darba uz wiki pieteikumu ar palīdzību / ieteikumus no instruktora. Pēc kursa atsauksmes tika pieņemts, tika uzsvērts, vairākas reizes, izmantojot protams, ka Zend notiek atsauksmes ir ļoti nopietni, jo tas acīmredzot mūsu versiju protams, bija pavisam jaunu. Daži no citiem izstrādātājiem, kompānijas spersim gaitā drīz tāpēc būs interesanti redzēt, ja tas ir noticis.

Protams, stils bija neformāla, atļauta atgriezenisko saiti un sadarbību starp dalībniekiem un instruktors. Protams, vadītājs bija draudzīga, sasniedzams (e-pasta adreses tika dalītas uz jautājumiem), un kamēr viņa prezentāciju no slaidiem bija mazliet nestabila likās pilnībā kompetenta ietvaros. Viņš bija acīmredzami kāds, kas izmanto sistēmu, regulāri, nevis kāds, kurš tiek mācīts mācīt, protams, man patika "reālo pasauli" pieredzes šajā ziņā.

Kopumā sajūta

Savā ziņā es atklāju gaitā atkritumu laika, citiem tā bija ļoti ērts. Cerams, ka es nopirkšu savu iemeslu izteikties skaidri, un varbūt sniegt dažas pārdomas vai noderīga atgriezeniskā saite (zinot, man tas ir maz ticams!).

Par sevi Šā kursa mērķis bija pārāk zema līmeņa. Ņemot izgājušas cauri QUICKSTART rokasgrāmatu, izlasiet Rob Allen Zend Framework in Action un strādāja ar regulējumu maz Es īsti iegūt kaut ko pārāk daudz. Es par patika protams, uzņemt no beigām QUICKSTART un attīstīt papildu prasmes.

Tas nozīmē, ka kursa nosaukumā nav skaidri noteikts, "Zend Framework: Fundamentals", un šādā aspektā kurss sasniedz to, ko tā vēlas darīt. Citus locekļi izstrādes komandas, kas nav izlietoti laika ieskatu sistēmā gatavo katras sesijas ar entuziasmu un uzdeva jautājumus, kas bija tiešām jauks, lai redzētu.

Visi nebija zaudēts, tas bija labi pavadīt laiku apstiprina galvenās ziņas par sistēmu un iegūt uzdot pāris jautājumus jomās, kur es nebiju 100%. Tas bija arī laiks, ka es saņēmu apsēsties katru dienu un domāt par kodēšanas, izmantojot sistēmas un turpmākiem projektiem, ko es nebūtu par varējis rīkoties citādi (vai varat iedomāties jūsu uzņēmums piekrīt, ka:)). Pēdējais, bet ne jūs arī iegūt jauku sertifikātu no Zend teikt, ka jūs apmeklēja kursus (lai gan pa e-pastu).

Zend Framework Sertifikācija

Tas bija viens jautājums, kas tur nāk prātā laikā, vai tas sagatavotu mani sertifikācijai? Ātri, vienkārši ir milzīgs Nr. Protams, instruktors bija diezgan skaidrs, ka ar papildu ieteikumu, ka sertifikācijas jums patiešām vajadzētu būt, izmantojot regulējuma ikdienā un jūtas ļoti komfortabli un pārliecināti par tās lietošanu un metodoloģiju.

Kopsavilkums

Ņemot vērā to visu, es esmu rakstiski iepriekš, es jums apkopot visu, kas divas vienkāršas aizzīmju punktiem:

  • Jauns, lai Zend Framework: Šis kurss dara tieši to, ko jūs gaidījāt, tas dod jums jauku ievadu sistēmu un labas zināšanas par pamatus, no kuras jūs varat veidot. Protams, šķiet, lai radītu interesi un sistēma starp izstrādātājiem entuziasmu.
  • Lietota Zend Framework: Tā bija jauki krastā dažas no ļoti pamati sajutu laiku, pūles un līdzekļus veikt kursu varētu no bijis labāk izlietotās citur. Tas būs jauki, see Zend izveidotu jaunu augstāku līmeni, protams, lai izstrādātājiem, lai nākamajā līmenī -. Vismaz standarta sertifikāciju un ārpus Par to es varētu pierakstīties uzreiz.

Pieteikties uz DB, izmantojot Zend Framework

Ar , otrdiena 14 aprīlis 2009 21:06

Esmu izdevās iegūt vietu uz augšu un darbojas ar Zend Framework , viss ir mežizstrāde labi, lai Firebug / FirePHP tāpēc nākamais solis bija, lai pieteiktos uz DB. Es arī gribēju pieteikties papildu informāciju, izmantojot sistēmu, piemēram, lietotāja aģents, datumu un laiku, GET un POST mainīgie. Tātad, lai paplašinātu pamācību, mazliet šeit ko es izdarīju:

// Set up logging to DB
$db = Zend_Registry ::get('dbAdapters');
$db = $db['general'];

$ ColumnMapping = array ('prioritāte' => "prioritāte",
'Ziņu' => 'vēstījumu ",
"Datetime '=>' laikspiedolu"
'User_agent' => 'user_agent "
'Get_vars' => 'get_vars "
'Post_vars' => 'post_vars "
"Vieta" => "vieta"
);

$ WriterDb = jauni Zend_Log_Writer_Db ($ db "error_logging ', $ columnMapping);
$ Logger = jauni Zend_Log ($ writerDb);

$ Logger-> setEventItem ("datetime", datums ("Ymd H: i: s '));
$ Logger-> setEventItem ("user_agent ', $ _SERVER [' HTTP_USER_AGENT ']);
$ Logger-> setEventItem ("get_vars", print_r ($ _GET, patiess));
$ Logger-> setEventItem ("post_vars", print_r ($ _POST, patiess));
$ Logger-> setEventItem ("vieta", SITE);

$ Logger-> info ('Informatīvais ziņojums ");

Ja masīvs atslēgas $ columnMapping ir manas kolonnu nosaukumi. 'Prioritāte' un 'ziņa "saprot, ko Zend_Log_Writers bet papildu laukus tika pievienoti sniegt man papildu informāciju.

Acīmredzot tas tiek pieņemts, ka jums ir mežizstrāde darbojas, izmantojot vienu no citiem rakstniekiem pirmā:)













Panorama Theme Themocracy

7 Apmeklētāji tiešsaistē tagad
4 viesi, 3 boti, 0 biedri
Max apmeklētāji šodien: 12 pie 10:01 UTC
Šajā mēnesī: 48 plkst 2011/12/09 02:18 UTC
Šogad: 130 plkst 28-03-2011 22:40 UTC
Visu laiku: 130 plkst 28-03-2011 10:40 UTC