Jump to content
php.lv forumi

Atšķirība starp pēdiņām


KarlisBa

Recommended Posts

es pret inline javascript jo:

1) piesārņojas html, priekš kam pārlūkam, kam nav vajadzīgs javascript ir jāgremo visādi lieki tagi - tas varētu būt bots (google), pārlūks ar atslēgtu javascriptu, telefons, ipods utt

2) ir diezgan neērti vēlāk pēc šabloniem meklēt konkrētas kļūdas un saliktus inline javascriptus. Salīdzinājumam, kad viss smuki salikts mapē /js/

3) nav garantijas, ka kods strādās korekti. Ja piemēram izmantojam funkcijas ondomready, kad ir vajadzīgs lai viss saturs ir salādēts. Var rasties visādi neparedzēti gadījumi.

4) nav oop, nu bet tas laikam visiem pie dirsas :)

5) nu un protams lieks trafiks :)

 

Kopumā visam jābūt atdalītam: JS savā mapē, CSS savā, HTML savā, PHP savā. Tad ir vieglāk sadarboties komandā, debugot kodus, strādāt ar vienu segmentu - html, css, js vai php, sadalīt programmētājus pa daļām uz segmentu utt.

 

Es drīzāk gribētu dzirdēt priekšrocības inline javascripta

Link to comment
Share on other sites

Ja tu domā kaudzēm sarakstītos echo ,tad vienkārši echo vieta saglabā visu arrayā

 

$echo = '<table>';
$echo .= '</table>';


echo $echo;

 

Un tālak caur include ievilkt array lapā un izvadīt ar echo ;) Tad tev sanāks php scripts kuru palaižot atseviški nekas neizvadās ,tikai kad "echo $echo;". Kaut kā tā.

Link to comment
Share on other sites

Kopumā visam jābūt atdalītam: JS savā mapē, CSS savā, HTML savā, PHP savā.

Es drīzāk gribētu dzirdēt priekšrocības inline javascripta

Nu Tev savaa zinjaa pilniiga taisniiba, prieksh JS ir *.js faili, un PHP vismaz daljeeji adaliit no HTML ..

Maksimali visu sakumaa ( tas arii var buut pilniibaa atseviskjs fails)

un izvadem tikai echo --> apstraadati dati ..

Par JS inline...

standara Onchange utt nekaa targiska nav, ja tas atsaucas uz konkretu JS funkciju, tas ir tas pats kas

HTML un PHP echo, faktiski kods ir adaliits, ja vajag ko labot njemam JS failinju , atrodam konkreto f-ju un darbojamies ...

Link to comment
Share on other sites

Grey_Wolf:

par pirmo nemec jau uzrakstīja + vēl ir semantiskais iemesls : html - saturs, css - dizains, js - uzvedība

 

2. JS iekš ārēja faila tik 'nokešots'.

Ja js (gan eventus gan <script>) tur iekš html,

tad faili satur lielus koda gabalus, kas atkārtojas.

Besides, jQuery izmantojamība, pēc manām domām, ir ļoti ļoti pārspīlēta.

 

3. iemācies lasīt

3. ja eventi ir daudz, lapa sāk bremzēt
Manā dotajā piemērā to visu mēslu čupu var aizstāt ar trīs eventiem (nevis 36iem).

Un eventu rakstīšana html pusē ir vienārši cita veida tag soup.

Link to comment
Share on other sites

vēl gribēju piebilst par trafiku sakarā ar frameworkiem (mootools, jquery un pārējie). Googlam ir http://code.google.com/apis/ajaxlibs/documentation/ , kas dod iespēju lādēt bibliotēku no google serveriem. Sanāk, ja lietotājs jau ir kādu lapu apmeklējis, kas izmanto šo metodi. Tad nākošajās lapās bibliotēka tiks lādēta no keša.

 

Vai tad ir iespējams pilnībā nodalīt html no php? Cik esmu saskāries, tā vai tā, datu izvade, kaut kādi cikli un tā, ir nepieciešami html daļā.

es atdalu tikai daļu html. Man sanāk 1-2 galvenie šabloni uz php, kas izvada galveni, kājeni, bet atstāj vietu dinamiskam saturam. Dinamiskajā saturā lādēju tīru HTML (bez perversijām, līdzīgas smarty). Dinamiski šabloni strādā pēc JavaScript šablonizatora principa. Protams var arī pilnībā atdalīt, bet 1-2 šabloni nav nekas tragisks. Lielākais ieguvums protams tīrs HTML. Un otrais, ka es varu tos pašus templatus izmantot arī JavaScriptā pie dinamiskas lapas ielādes. Kā trešo varu minēt, dizaineris-griezējs var bez problēmām pats tikt galā ar savu layoutu - nevis mani raustīt ar jautājumiem 'Kas tas {foreach $array}{/foreach}'. Man tāda pieeja neapmierina.

Kā piemēru var apskatīt manu mazu lapiņu http://termi.lv/ (tā ir paša sākuma instalācija manam mvc+cms).

Ielādējam templates, tas kods automātiski saliek kopā visus HTML templates no mapes, ko izmanto arī PHP kods, un saliek to funkcijā JStemplate. Šobrīd tur ir tikai viens templates 'self' ar saturu '<div class="self"></div>'. Bet protams var būt arī kaut vai simts templatu.

Pārējot uz saites 'Uz trubenis', JavaScript apskatās saiti linkam /uz-trubenis/, pieliek parametru ?j, lai php saprot, ka pieprasa JSON.

Ielādē instrukcijas no http://termi.lv/uz-trubenis/?j - kuru template lādējam un ko ar to daram. Sanāk, ka var taisīt divas versijas lapām - AJAX un HTML vienlaicīgi. Vēl man tur ir uzlikts HistoryManagers kas lieliski strādā populārākos pārlūkos - lietotājs var izmantot 'back', 'forward' un 'refresh' pogas.

Kopumā sanāk dzenāt tikai nepieciešamos datus (JSON instrukcijas). Lapa paliek daudz vieglāka.

Link to comment
Share on other sites

Es nezinu, man kaut kā ir ērtāk uzrakstīt šādu variantu -

<?php echo "<a href='?links'>links</a>"; ?>

Nekā šādu -

<?php echo '<a href="?links">links</a>'; ?>

Kaut kā tā tas ir iegājies, jo, piemēram, šādu variantu jau nu toč negribētos lietot -

<?php echo "<a href=\"?links\">links></a>"; ?>

Link to comment
Share on other sites

nu PHP jau vel ir viena buutiska lieta :

"" --> parseris parbauda saturu ( vai ir mainiigais

'' --> neparbauda...

Taatad tiiri teoretiski, pedejais varjants straadas atraak ...

Personiigi parsvaraa lietoju otro varjantu, iznjemums ir SQL kveriji, kur izmantoju "" ...

Link to comment
Share on other sites

+1 v3rbo

Izskatās ka katras paliek pie savas pārliecības un arī pēc tās strādā... (: Kā nu kuram ērtāk...

par inline plusiem vēl - ja darbojas komandā, tad es skatot dizaina templeitu jau skaidri un gaiši redzu eventu, kas notiksies - man nav jārokas pa javascript failiem un jāmeklē vai ir kāds events piesiets vai nav. Protams, var jau spaidīties un skatīties ir vai nav, bet tas nav pārskatāmi.

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