Jump to content
php.lv forumi

Diskusija par OOP iespējām PHP


bubu

Recommended Posts

  • Replies 46
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Man php daudz kā trūkst

Par php vispārīgi runājot - jā, tam es tev piekrītu, man arī ir lietas, kas tajā trūkst/nepietiek. Bet par to nav runa.

Tu iepriekš teici stilā, ka php nav izstrādātas "augsta līmeņa OOP konstrukcijas". Gribu dzirdēt no tevis, kuras tās ir.

Link to comment
Share on other sites

PHP vispār to OOP jāizmanto minimāli "performances dēļ". Jo tik lēnu valodu kā php starp populārajiem opensource maz atradīsi...

Bet tas, ka web aplikāciju gadījumā neiespējami pilnībā realizēt OOP, tam es nepiekrītu.

Protams, templeiti un css nav OOP, bet tas ir tikai vizuālais API, kuru tu taisi pats. Visu apstrādi un reālās darbības veic OOP. Šabloni ir tikai šabloni dizainam, xml - konfigam, datu glabāšanai un pārnešanai utt.

 

bubu:

par tavu jautājumu - šobrīd nav laika analizēt sīkāk. Izteicos vispārīgi. Sīkāk konkrēti nemācēšu pateikt, tur tiešām ir jāpapēta.

Edited by Web Developer
Link to comment
Share on other sites

Web Developer: Vai tad php ir tik milzonīgi (OOP iespēju ziņā), ka tur kautkas speciāli un ilgi ir jāpēta? Jeb tas vienkārši nozīmē to, ka php tu labi nepārzini - taču izteikties gan, kā redzams, tev par to vēlmes ir milzonīgas.

Link to comment
Share on other sites

codez - sākumā jāiemācās web aplikācijas taisīt, nevis

...

Katram modelim ir savs HTML izvads, kur beigās visu modeļu HTML izvads tiek apvienots vienā lapsa HTML izvadā.

Katra modeļa HTMLam ir savs CSS fragments.

Kā darīs?

1)visu modeļu CSS un JS failus inklūdos konkrētajā lapsa izvadā? Īsti neder, jo var nākties pat inklūdot vairāk kā 30 js, css failus.

...

 

Ja nemāk css taisīt un optimizēt, tā nav OOP problēma. Tāpat arī, ja nemāk JS rakstīt un optimizēt pareizi.

 

Nav ko inklūdot visu laiku - ir jāprot uztaisīt pamats - klienta puses aplikācija - html+css+javascript. Kā jau teikts, tas ir tikai vizuālais interfeiss, kuram veiksmīgi jāsavienojas ar servera puses OOP.

Link to comment
Share on other sites

Web Developer, ja uzskati, ka es kaut ko nemāku, tad pasaki, kā tu šādu modeļus vaidotu ar OOP, lai CSS būtu ērti piesaistīts modelim (kas ir OOP princips, jo klasei jābūt pilnīgi neatkarīgai, tai skaitā, ja tā izvada HTML, tad arī CSSam), bet nebūtu gļuki (1-3), kurus es norādīju iepriekš.

Link to comment
Share on other sites

Mjā, šķiet, ka tu, WebDeveloper, neesi piedalījies lielu projektu izstrādē, jo savādāk zinātu, ka visu lapu, visus CSSus vienā failā sabāžōt var sanākt pārsimt kB fails, kura ielāde, lietotājam ienākot, var aizņemt pat 10 sekundes.

 

Bet visdrīzāk, tu pat neesi izstrādājis nelielas aplikācijas, jo nesaprati par ko es runāju.

Es runāju par to, ja taisa ar OOP, tad news modelis satur arī metodi, kura izvada jaunumus. Taču izvades HTMLam ir piesaistīts kaut kāds CSS. Jautājums ir, kur šo CSSu novietot, lai pēc OOP principiem news modelis būtu pilnīgi neatkarīgs no kaut kādiem ārējiem apstākļiem.

Es apgalvoju, ka pieņemamā veidā to nav iespējams izdarīt.

Link to comment
Share on other sites

Vajag taisīt normāli css, nerakstot neko lieku un rakstot visu pēc iespējas īsāk un optimālāk + vēl ir arī mehāniskas iespējas optimizēt css failus. Ja uzraksta draņķīgus css failus, tad nafig. Jebkurā gadījumā - css attiecās tieši uz dizaina templeitiem un ar tiem objektiem tam sakars minimāls - css jārediģē atsevišķi. Objekti var būt neatkarīgi savā sistēmā no ārējiem apstākļiem. Views-templeiti arī neatkarīgi. css arī neatkarīgi.

Vai arī, kas tev liedz veidot folderi:

views/news/ - kurā tad ievietosi gan news.tpl, gan news.css un citas huiņas, ko tev vajag? OOP pēc actioniem sapratīs automātiski, kāds galvenais templeit fails no views ir jāizmanto, vai tas būtu news.tpl vai news_description.tpl

Nejauc css un JavaScript ar OOP.

OOP servera sistēmu tu veido atsevišķi, javascript un css rediģē atsevišķi - tie ir dizainam tieši piederīgi. Protams, tam visam ir saskaņas ar oop - ar nosaukumu palīdzību kaut vai.

Link to comment
Share on other sites

Vai arī, kas tev liedz veidot folderi:

views/news/ - kurā tad ievietosi gan news.tpl, gan news.css un citas huiņas, ko tev vajag? OOP pēc actioniem sapratīs automātiski, kāds galvenais templeit fails no views ir jāizmanto, vai tas būtu news.tpl vai news_description.tpl

Beidzot tu piedāvā variantu, bet šis bija 1) no maniem piedāvātajiem variantiem, kurš īsti neder.

Ja tu taisi news.css, tad profila lapā ir arī profileinfo, friends, wallcoments, messages, requests, u.c. modeļi, katram no tiem būs vajadzīgs savs .css fails un arī .js fails.

rezultātas būs tāds, ka, ja būs 20-30 modeļi, tad rezultātā būs 40-60 ārējie .ccs un .js faili, kuri jāielādē vienā lapā. Lapas ielādē nebūs ātra.

Tāpēc šis variants neder.

Vai tev ir kāds cits derīgs variants?

Link to comment
Share on other sites

1)Bet tad nav ievērots OOP pamatprincips, ka objekti ir pilnīgi neatkarīgi.

2)Perfomances problēmas var būt tik un tā.

Man piemēram ir modeļi A-Z, kuriem ir outputs un kuru cssus es salieku a.ccs - d.css failos

a.css failā man ir modeļu A-F,

b.css G-L

c.css M-T

d.css U-Z

tagad man gadās lapa, kurā ir modeļi A,G,M,U.

Sanāk tik un tā ielādēt visu css.

n pat, ja mēs mēģinām kaut kā kārtot, tik un tā nebūs veiksmīga varianta, kā modeļus racionāli salagot ar to CSSiem.

pēc arī es saku, ka web aplikāciju izstrādē daudz ko nemaz nevar tā taisīt kā OOP.

Edited by codez
Link to comment
Share on other sites

1) CSS selectori arī ir principā viena no otras neatkarīgi. Nesaskatu šeit "neatkarības problēmas".

2) Tavā gadījumā tu vari katram modelim piesaistīt savu css fragmentu. Tas ir viens. Otrs ir tas, ka ja šie modeļi ir savā starpā neatkarīgi, tādā gadījumā arī css selektoriem jābūt neatkarīgiem, vai arī saistīti tikai ar core - un savu core css gabalu vari kā atsevišķu css failu inklūdot visos gadījumos. Ja css gabali atsevišķos modeļos ir neatkarīgi, tad nav svarīga secība, kādā tos samauc kopā, tāpat tev beigās jāģenerē kopā arī html, tāpat arī saģenerē kopā arī css, ja jau gribi būt tik advancēts.

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...