PHP/MySQL izstrādes vides sagatavošana uz Windows
24. January, 2008, 0:58 PHP, Pamācības, SQL, Web izstrāde 4 komentāri »Ieliku vienu pamācību webmeistari.lv forumā. Starpcitu, arī turpmāk šajā forumā parādīsies dažādas pamācības no manas puses.
Ieliku vienu pamācību webmeistari.lv forumā. Starpcitu, arī turpmāk šajā forumā parādīsies dažādas pamācības no manas puses.
Atsaucoties uz Kā vēl var izmantot PHP konstantes ?, laacz IRC kanālā #php.lv izteicās, ka konstantes vēl labi var izmantot funkcijām definējot defaultos parametrus. Tas ir - ja funkcijas definīcija izskatās šāda:
<?php
function foo($param1 = 1, $param2 = 2) {
//...
}
?>
Tad ieviešot konstantes:
<?php
define('MYAPP_PARAM_FIRST', 1);
define('MYAPP_PARAM_SECOND', 2);
function foo($param1 = MYAPP_PARAM_FIRST, $param2 = MYAPP_PARAM_SECOND) {
//...
}
?>
Cik bieži Jums gadās kodā saskarties ar (vai pat pašam rakstīt) šādu kodu ?
<?php
if ($row['type'] == 1) {
// ...
} elseif ($row['type'] == 2) {
// ...
}
?>
Šoreiz nerunāšu par PNG caurspīdīguma problēmu uz IE6 pārlūka, bet gan
par tādu varbūt mazāk populāru, bet kaitinošu problēmu, kas ietekmē gan IE6,
gan IE7. Abi šie pārlūki reizēm nepareizi attēlo PNG attēlu krāsu toņus.
Mazs piemērs (Šis attēls ir salikts kopā no diviem.
Pa kreisi ir parasts GIF fails, bet pa labi PNG). Uz FF
un Operas nevajadzētu redzēt atšķirību, bet uz IE diezgan labi var redzēt, ka
kreisās puses krāsas tonis atšķiras no labās puses toņa. Labā puse ir nedaudz
tumšāka.


Tiem, kam nav iespēju apskatīt caur IE, ekrānšāviņš:

php.lv/f forumos ik pa laikam parādās tēmas par “Headers already sent”,
kas parasti izsauc no pārējiem lamu vētras un nebeidzamās pasūtīšanas uz google
vai uz paša foruma meklēšanu, jo tēma jau ir “100 reizes pārrunāta”. Un tā tas
tiešām ir. Tāpēc esmu sagatavojis nelielu tekstu, kas varētu palīdzēt cilvēkiem pašiem tikt galā ar šo problēmu.
Varbūt ne visi ir pamanījuši, bet MySQL jau kopš 4.0 versijas piedāvā iespēju dzēst vienlaicīgi no vairāk tabulām ar vienu pieprasījumu. Izskatās tas, piemēram, šādi:
DELETE
x,y,z
FROM
`tabulax` x,
`tabulay` y,
`tabulaz` z
WHERE
x.id = 1 AND
x.id = y.tabulax_id AND
y.id = z.tabulay_id
Lasīt tālāk »
Saskāros ar problēmu, kad nosūtot serverim POST datus ar datiem, kuru kopizmērs pārsniedz PHP konfigurācijā norādīto post_max_size, tad galu galā PHP pusē $_POST (un $_FILES masīvs arī, ja tiek sūtīti arī faili) ir tukšs. Nekāds kļūdas paziņojums nekur neparādās; vispār nenotiek nekas. PHP pusē tas viss izskatās, ka vienkārši ir veikts tukšs POST pieprasījums.
Liela daļa izstrādātāju, kas tikko sākuši eksperimentēt ar CSS bāzētiem
izkārtojumiem, vienā brīdī atduras pret problēmu, kas saucas “vertikālā centrēšana”.
Problēma tā ir tāpēc, ka CSS nepiedāvā ērtus veidus kā to darīt. Faktiski CSS
pat nepiedāvā nekādus veidus kā to izdarīt. Praktiski visi Internetā
atrodamie risinājumi un koncepti ir sava veida CSS haki. Un neviens no tiem
nav ideāls. Pat ne tuvu ideālam.
Esmu novērojis, ka daudzi web izstrādātāji-iesācēji redirektus veic, nosūtot pārlūkam
redirektējošu <meta> tagu. Piemēram, kaut ko līdzīgu šim:
<meta http-equiv="Refresh" content="0;URL=http://www.example.org/example.php">
Visbiežāk šī rindiņa pārlūkam tiek nosūtīta pilnībā ignorējot HTML dokumenta
struktūru. Vai nu to nosūta vienu pašu, pilnībā aizmirstot par pareizu dokumenta
struktūru, vai arī tā tiek izdrukāta kaut kur <body> daļā. Lai gan visbiežāk it kā
viss strādās, un redirekts notiks, tomēr šī nav pareizā pieeja.
Galvenie mīnusi: lieka datu pārsūtīšana; nav garantija, ka redirekts vispār
notiks.
Reizēm browsējot pa blogiem/lapām nākas šausmināties “nu kāpēc tā ? nu kāpēc
tur tā atstarpe nevarētu būt lielāka, vai arī burtu krāsa tumšāka ?”. Ja problēma
ir teksta izmērā, tad modernie browsero šo problēmu atrisina ar iebūvētu
iespēju mainīt jebkurai lapai teksta izmēru. (Ja neskaita IE6, kas neļauj
resaizot teksta izmēru, ja tie norādīti pikseļos.)
Bet ko darīt, ja problēma nav saistīta ar fonta izmēru ? Rakstam paši savu CSS :).
Nu labi - ne visu CSS, bet tikai nelielu daļiņu.
Jaunākie komentāri