Es pilnībā saprotu tos, kas PHP koda rakstīšanai izmanto redaktorus nevis IDEs. Pats kādus divus gadus tik vien darīju, kā meklēju man piemērotākos redaktorus, pat neskatoties uz IDE pusi. Laikam baidījos no tā, ka IDEs ir pārāk smagas. Tāpēc priekšroka tika dota kaut kam tik elementāram kā Notepad2. Tagad tas šķiet ļoti neprātīgi, taču vairāki desmiti tūkstoši koda rindiņu ir sarakstīti tieši ar Notepad2. Pāreja uz Linux nozīmēja arī daļāju redaktora maiņu. Jā – uz Linux lieliski strādā arī Notepad2, bet ja ir iespējams, cenšos Wine neizmantot. Līdz ar to bija situācija, ka Windows lietoju Notepad2, bet Linux Gedit. Taču tas bija ļoti nepareizi. Kāpēc? Tāpēc, ka IDE sniedz daudz, daudz tādas lietas, kuras parasti un pat funkcionālākie redaktori nespēj. Tā kā neesmu tik bagāts, lai par IDE izmestu 300$, tad Zend Studio un Komodo nemaz nemēģināju lietot. Tā vietā sāku apgūt EclipsePDT, kas ir pilnībā bez maksas. Nedēļu paspēlējos arī ar Aptana, kam ir bezmaksas versija, bet nepilnīgās funkcionalitātes dēļ Aptana pagaidām netiks izmantota. Turpināt lasīt


Tikko noklausījos Ivo Jansch prezentāciju no phplondon08 konferences.  Prezentācijas tēma bija “Enterprise PHP Develpment”. Prezentācijas ilgums ir nedaudz vairāk par 52 minūtēm. Bet tas ir tā vērts. Jā – Ivo neizstāstīja neko unikālu, bet smuki salika visu pa plauktiņiem. Izstāstīja izstrādes ciklu no sākuma, līdz pat beigām. Kā arī pievērsa uzmanību tam, kas parasti noiet greizi un kādi tam varētu būt standarta risinājumi. Šo prezentāciju būtu jānoklausās visiem, kuriem ir svešs tas, kā taisa nopietna līmeņa PHP projektus. Noklausoties prezentāciju kļūs skaidrs, ka PHP nav kaut kas nenopietns. Nenopietni var būt tikai tā pielietošanas veidi.

Ko tur daudz stāstīt. Noklausieties paši un varbūt radīsies kādi komentāri. Prezentācijas MP3 novelkams šeit (47.8MB), bet slaidi PDF formātā šeit (898KB).


Līdz šim gadījumos, kad vajadzēja paskatīties kaut ko par HTML vai CSS, devos uz W3Schools.com. Domāju, ka tā dara lielākā daļa no attiecīgās informācijas meklētājiem. Parasti pat, kad kāds iesācējs jautā pēc informācijas avota, viņš saņem norādi uz W3Schools.com.

Šodien pārskatot RSS pamanīju, ka ir tāds projekts, kā SitePoint Reference. Tur ir pieejamas rokasgrāmatas par CSS un HTML. Pirmā ir pabeigtā statusā, bet otrā vēl beta versijā. Līdz ar to HTML rokasgrāmata nav tik smalki nostrādāta. Taču paklikšķinoties pa sadaļām sapratu, ka W3Schools.com nomainīšu pret SitePoint. Tas tāpē, ka pēdējā apraksti ir izmeļošāki un viss resurss ir vizuāli pievilcīgāks. Vismaz man tā likās. Turpinājumā pāris mazi ekrānšāviņu izrāvumi. Ar abām rokasgrāmatām var iepazīties: http://reference.sitepoint.com/

SitePoint CSS Reference


SitePoint HTML Reference


Tā kā iepriekšējais šāda stila ieraksts neizpelnījās lielu nopēlumu, bet izraisīja pat interesi, piedāvāju nākamo uzdevumiņu porciju. Uzreiz jāsaka, ka nevajag vērtēt to cik sakarīgi vai nesakarīgi ir piemēri, bet mēģināt tos atrisināt. Jo piemēri speciāli ir sastādīti tā, lai demonstrētu valodas konstrukcijas nevis būtu ļoti noderīgi. Uzdevumu pildīšanas modelis tāds pats kā iepriekš. Sākotnēji jāapskatās uzdevumus, tos jāatrisina (vai jāmēģina vismaz) un tikai tad drīkst lasīt raksta turpinājumu. Arī šoreiz es uzreiz neizklāstīšu to kāpēc ir tā kā tas ir. Taču ja kādam ir jautājumi par kādu no uzdevumiem – droši jautājiet. Komentāros apstāstīšu kāpēc ir tā kā ir.

1) $a = 10;
$a -= 7 * 2 + 3;
echo $a;

Kas tiks izvadīts uz ekrāna (tātad kāda ir $a vērtība)?

2) $a = array();
$a[3] = 'Pumpa';
$a['zupa'] = 'Biešu';
$a[] = 'Kaut kas';

Kāds ir indekss $a masīva elementam ar vērtību ‘Kaut kas’ ?

3) $nevars6 = 'vars';
$a = 'nevars';
$a .= strlen($a);
$$a = $a.$nevars6;
echo $nevars6;

Kas tiks izvadīts uz ekrāna?

4) $a = 4;
function test(&$a)
{
$z = 20;
$a += $z;
return $z;
}
$b = test($a);
echo ($b+$a);

Kas tiks izvadīts uz ekrāna?

5) $a = 10;
$b = &$a;
$a *= 2;
echo ($b+$a);

Kas tiks izvadīts uz ekrāna?

6) $a = 3;
$z = 3 == $a ? ($a + 5) : ($a + 10);
echo $z;

Kas tiks izvadīts uz ekrāna?
Turpināt lasīt


Izdomāju, ka varētu uzdot dažus pārbaudes jautājumus tiem, kas vēl nav profesionāļi PHP. Protams, arī profesionāļi var atrisināt viņus, bet viņiem šie jautājumi varētu šķist pārāk elementāri. Taču tādam, kas ar PHP tikai sāk strādāt, saprašana kā strādā tālāk dotie piemēri, var palīdzēt tālākās gaitās.

No sākuma būs doti jautājumi (uzdevumi) un paņemot lasīt rakstu tālāk būs pieejamas atbildes. Ja gadījumā kādai atbildei nepiekrītat vai arī nesaprotat kāpēc ir tieši tā kā es saku, droši jautājiet. Un jā – atbildes skatieties tikai tad, kad būsiet izdomājuši savas atbildes, jo pretējā gadījumā uzdevumiem nebūs tāds efekts, kādam vajadzētu būt.

1) Kura darbība strādā ātrāk: $i--; vai --$i;?

2) $a = false;
$b = true;
$x = $b and $a;
$y = $b && $a;

Kādas ir $x un $y vērtības?

3) $a = array('34');
foreach($a as $key => $value)
{
$value = $key * 2 * $value;
}

Kāda ir $a[0]; vērtība?

4) $i = 5;
$x = 0;
while($i > 0)
{
$x += --$i;
}

Kāda ir $x vērtība?
Turpināt lasīt


Pēdējos dažus mēnešus esmu mainījis pieeju tam, kā programmēju. Jā – esmu no tiem nenopietnajiem koderiem (tā vismaz domā vairums no tiem, kas kodē citās valodās). Tātad kodēju PHP. Agrāk es tikai taisīju pats savus kodus un tos rakstīju ar kādu vienkāršu teksta redaktoru (Windows – Notepad2, Linux – Gedit). Taču apskaidrības brīdī sapratu, ka es lietas daru tā kā to dara iesācēji. Neskatoties uz to, ka PHP man jau nav svešs 3 gadus, es vēl pavisam nesen kodēju tā it kā būtu nesen sācis. OK – ja ne kā tikko sācis, tad vismaz ar tādiem pašiem ieradumiem. Tātad kas ir mainījies? Daudzas lieta. Piemēram:

  • esmu sācis izmantot ietvarus (frameworks) un dažādas gatavas bibliotēkas, klases.
  • vienkāršos teksta redaktorus nomainīju pret Eclipse PDT.
  • pastiprinātu uzmanību pievēršu dokumentēšanai.
  • sāku pamazām apgūt dažādas standartizētas testēšanas metodes un versiju kontroli.

Varbūt sākotnēji uzskaitījums šķiet nebūtisks, bet tas ir aplami. Uzskaitītās lietas krietni uzlabo kvalitāti, izstrādes ātrumu, kā arī palīdz saprast, ka PHP ir nopietna lieta.

Jautājums jums PHP koderi – vai jūs izmantojat kādu no manis uzskaitītajām lietām vai arī paļaujaties uz aptuveni šādiem pieņēmumiem “labākais redaktors ir Notepad”, “pats esmu gudrs un man nevajag citu sakodētas lietas”, “īsti vīri atcerās ko kodēja vēl daudzus gadus un dokumentēt nav nepieciešams”, “kāda vēl versiju kontrole?”.


Nu jau kādas pāris nedēļas pievēršu uzmanību (ar RSS) Web lapai killersites.com. Apmeklējot attiecīgo adresi var atrast noderīgas video pamācības. Daļa ir maksas, daļa bezmaksas. Piemēram, bez maksas tiek piedāvata WordPress konfigurēšanas pamācība, kas veidota astoņās daļās. Ir arī bezmaksas Ajax pamācība, kas sastāv no 15 daļām. Ajax saistītajos video ir redzams kā strāda Ajax bāzēts iepirkšanās grozs (gan vizuāli, gan izskaidrots kods). Savukārt PHP pamācība ir vairāk kā 20 daļās.

Uzreiz varu teikt, ka tie, kas ar attiecīgajām tehnoloģijām ir pazīstami šie video var nebūt īpaši noderīgi. Pamācības vairāk domātas tiem, kam nav bijusi īpaša saskarsme ar apskatītajām lietām.

Par video kvalitāti īsti spriest nevaru, jo esmu paskatījies tikai kādus 3 video. Uzreiz jāsaka, ka autors (Stefan Mischook) runā ļoti brīvi, reizēm šķiet, ka pat nedaudz pārāk aizrunājas. Bet, protams, iesācējiem ļoti ieteicams šos materiālus noskatīties. Tie nebūs ļoti īsi. Piemēram, par Ajax tiek runāts ilgāk kā 3h.

Par maksu ir piejamas video pamācības par Web dizainu, Dreamweaver, Flash un iespējams arī par citam tēmām.

Pats labprāt noskatītos kādus ar Zend Framework saistītus video (kaut ko vairāk par pašu ievadu attiecīgajam ietvaram). Ja kādam ir zināmas adreses, kur pamācības var noskatīties, būtu pateicīgs, ja padalītos ar tām.


Jaybill McCarthy savā blogā uzskaitījis desmit mītus par PHP un katru no tiem atspēkojis. Ja ne atspēkojis, tad vismaz devis labu vielu pārdomām par to vai tiešām attiecīgā lieta ir patiess pieņēmums par PHP.

Runa iet par sekojošiem mītiem (atvainojos, ja tulkojums nebūs 100% precīzs):
1) PHP nav patiesi (pilnībā) objektorientēta valoda
2) PHP iedrošina (veicina) nekvalitatīvu kodu (par šo es jau vienreiz biju izteicies un šķiet, ka nedaudz pa daudz biju sacepies)
3) PHP neseko MVC
4) PHP ir lēns, jo tiek interpretēts
5) PHP nav labu debuggeru un IDEs
6) Visas PHP aplikācijas izskatās vienādi
7) PHP nav domāts “nopietniem” izstrādātājiem
8) PHP der tikai Web aplikācijām
9) PHP kods ir juceklīgs dēļ “include” un “require”
10) PHP kods ir pārpilns ar iekšrindas SQL teikumiem (iekšrindas domāts “in-line”)

Ieteicams izlasīt gan tiem, kas ar PHP strādā, gan tiem, kas strāda ar citām valodām.