Jump to content
php.lv forumi

par .tpl un ko tas ēd?


lostz

Recommended Posts

Lostz, to ko teica Briedis par šablonu sistēmu izmantošanu, pareizāk sakot viņš ieteica neizmantot, es viņam pilnīgi piekrītu. Tomēr MVC nav šablonu sistēma.

 

Ja Tu gribi apgūtu kā taisīt tieši šablonu sistēmas, par ko Tu arī jautāji un ja tai pašā laikā uzskati ka ieteikums apskatīt jau esošās sistēmas, piemēram Smarty, lai saprastu kā viņas tiek taisītas, nevis kā tiek izmantotas, bet tieši kā uztaisītas, ir lieka gudrīšanās un pārspīlēta intelekta izrādīšana, tad diez vai kāds Tev spēs palīdzēt.

Link to comment
Share on other sites

Runājot par šo, izskatās kaut kas nedaudz pārspīlēti un apzināti sarežģīts.

Tam vaajdzētu izskatīties šādi:

 

class Controller_Members extends Controller{

 function Action_index(){
$this['title']='Mūsu lietotāji';
$this['members']=DB::query('SELECT * FROM members')->getRows;
 }
}

 

un viss.

DB klase tiek ielādēta ar autoload handleri, tāpēc nav nepieciešam neko requirot.

Savukārt templeits members.tpl ir automātiski piesaistīts kontrolerim members.ctrl, tāpat arī izvade notiek automātiski.

 

Kā to visu šādi izveidot, var iepazīties šeit:

http://php.lv/f/topi...vc-framework-u/

Edited by codez
Link to comment
Share on other sites

dārgais daGrevis, es necenšos izgudrot "divriteni" es vienkārši cenšos visu izprast kas un kā, tu pats vēl netik sen centies izgudrot pats savu riteni ( http://php.lv/f/topi...-mvc-struktura/ ) tapēc, kapēc citi nevar a tu vari savu frameworku pamocīt ( pat 2 reiz tu to dariji ),

tāpat kā tu, es to daru, lai ko iemācītos un tīri priekš sevis.

 

ps. codez, liels paldies par linku, labs un vienkārš :)

Edited by lostz
Link to comment
Share on other sites

da nē vienkārši, nevajag citus nosodīt par to ka cenšas riteņus izgudrot, ja pats to arī dari, labāk padalies ar iespaidiem vai arī iesaki kaut ko, kas tev palīdzēja apgūt to. :)

Link to comment
Share on other sites

Nepiekrītu. Manuprāt, ir noderīgi pašam uzrakstīt savu framework'u - arī mācoties (tik iespējams iepriekš vajag nedaudz paspēlēties un papētīt kādu jau gatavu FW). Un īpaši noderīgi tas ir, ja ir jāstrādā pie lielas aplikācijas - tad visi lielie FW vairs nav tik fleksibli un vadā sev līdzi lielu bagāžu koda, kura netiek izmantota. Tad vēl nākotnē, kad vajag ko specifisku vajag meklēt hakus, lai izdarītu ko vajag. Sava FW gadījumā viss būtu vienkāršāk.

 

Diemžēl to varu teikt no savas pieredzes. Pašrezējā darba vietā, vairākus gadus atpakaļ (kad tur vēl nestrādāju) programmētāji izvēlējās veidot ešoso sistēmu uz WordPress bāzes (kas, zinu, ka nav FW, bet sava līdzība ir), jo tā bija ātrāk un nelikās ka nākotnē būs problēmas, taču tagad, kad vajag scale'oties vajag meklēt milzīgus hakus, lai panāktu ātrāku darbību nepērkot papildus serverus. Diemžēl tagad pārrakstīt visu izmaksātu diezgan dārgi...

 

Es gan nesaku, ka FW nekad nevajag izmantot...lielākajā daļā gadījumu gatavs FW būs labākā izvēle.

Edited by rATRIJS
Link to comment
Share on other sites

nu, tad labi, ka turpinu, cilvēki te parādiju nedaudz ceļu man un to pašu daGreivs ko toreiz mocija (savu mvc) es ņēmu, kā piemēru tam ko vajadzētu darīt un kā, + ņēmu vel pie sirds codez linku.

Cik es tagad jau 2 dienas mokos, un ir savs pluss mvc, godīgi sakot vienkāršak saprast visu un ja nu savajagas ko izmainīt, nav tik grūti, vienīgā problēma viss man tas ir statisks, tagad gribas to visu tā dinamiskāku padarīt.

 

un rodas jautājums, bet sākšu ar piemēru:

http://paste.php.lv/...2ef785?lang=php

 

reku kods man ir (indeks un lib), un man ir situācija kad es vēlos izvilkt no db lietotāju

struktūra:

Field Type Null Default Comments MIME
id int(4) No      
vards varchar(30) No      
uzvards varchar(30) No      
email varchar(64) No      
status varchar(64) No    

cik es zinu, lai tiktu mans statiskais

var $name = "vārdiņs;";

jāizstāj ar lietotāju no datubāzes, man vajag veikt select un visu parējo procedūru, protams veicu, bet nesekmīgi, cik es sapratu, sākot darbu ar testa lapeli, nedaudz ir atšķirība, un rodas jautājums jeb kliedziens pēc palīdzības, kā būtu tagad man jādara, lai veiktu select no datu bāzes?

Edited by lostz
Link to comment
Share on other sites

Neizklausās, ka Tavs līmenis ir tik augsts, lai izmantotu MVC 'pattern`u'. Kur nu vēl būvēt Savu!

 

Sorry...

da nē, es jau neko nesaku, mans līmenis ir zems, (mācos), tapēc arī uzdodu jautājumus.

 

class user{
__construct($id)
{ 
   	$this->id = $id
}
public function get_username($id)
{
    	$username = get_record("SELECT name FROM users WHERE id = '".$this->id."'");
    	return $username;
}
}

 

bet nu es iebraucu pats, nesen esu pieķēries tik oop un tā virspusēji, bet kas man liedz mācīties to, kas mani interesē daGreiv?

Link to comment
Share on other sites

Gribētu piekrist rATRIJa teiktajam, tai sakarā, ka ir noderīgi izveidot savu MVC izstrādes ietvaru tīri mācību nolūkā. No savas pieredzes, biju paliela projekta izstrādes priekšā un izlēmu par labu sava neliela MVC ietvara izveidē. Salasījos dažādas pamācības, izpratu aptuvenos principus un uzcepu pašu ietvaru. Izstrādājot projektu, protams, tika konstatētas dažādas nepilnības, bet tas neliedza projekti novest līdz galam, un, laika gaitā arī pilnveidoju pašu ietvaru, lai tas spētu turēt līdzi prasībām.

 

Pavisam nesen pievērsos Kohanai, veidojot nelielu lapu, un, nenožēloju, ka pirms tam izbraucu pats cauri tai MVC padarīšanai no pamatiem, jo saprasties ar Kohanu vairs nebija problēmu :)

 

Tātad, ko es iesaku, ir izlasīt čupu ar materiāliem/tutoriāļiem par MVC, izvilkt vidējo aritmētisko no tā visa, un balstoties uz tā, izveidot savu ietvaru, uz kura izveidot kādu nelielu mājaslapu.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...