@VladaSu
Citat:
Pokreni, nemoj napamet da pricas i samo junkujes temu.
Ti se razumes u php i to je cinjenica ali brate nemoj da moram ko nekom pocetnku da pisem jer te je mrzelo da pokrenes program.
Ako key ne postoji apc_fetch vraca false. Nema "garant error i notice".
A zašto bih pokretao?

Ne sviđa mi se logika samog primera. Možda da proverim kako radi apc (za koji znam kako radi) eventualno da se podsetim koja od 5000 i kusur funkcija beše vraća boolean ili ispisuje notice ili fatal error na ekranu .. ? Pa i onda kada funkcija daje false.. a ti očekuješ `felerični`, nepotpuni i spakovani objekat ili niz, a taj fajl gde se to određuje i prisvajaju vrednosti pozvan na require_once, onoga momenta kada $test_class naiđe na deo gde će možda da se provuče kroz neku drugu metodu koja neće samo da `ćuti` ako nije string ili ono što se očekuje već daje određeni error, pa sve to na kraju treba da prođe kroz `gzhandler` ob_start(), ob_get_clean().. znaš šta se dešava? Dešava se da sve stane. A browser biva zbunjen do daske. I tebi ne preostaje ništa drugo nego da čitaš šta kaže error_log. Ovo je baš uprošćeno objašnjenje i verovatno će još neko iskusan u PHP-u, ko čita i koga ne mrzi da na koliko god mesta treba, udene po jedan if(isset()), if(is_*()) pre nego što krene da dodeljuje vrednosti, biti 100% saglasan sa mnom.
Citat:
Ja pricam o principu a ti se hvatas za sintaksne greske i ne kontas razliku izmedju definicije klase i objekta klase.
Jablana interesuje zivot objekta a definicija nema zivot. Definicija je definijcija. Jako skreces temu.
A objekat ima život? Promenjive imaju život? funkcije imaju život? I definicija je definicija.. malčice si se ti meni pogubio ovde.
I drago mi je što se razumem u php i da je to činjenica, ali da ne razumem šta je to definicija klase, a šta sami objekat.
Citat:
Druze, to sto se neki else ne izvrsi u nekom slucaje ne znaci da se taj else ne kompajlira. I ta konstanta sto u jednom slucaju nije definisana ne znaci da nije kompajlirana vec samo nije
definisana jer nisi usao u taj else. Da ne kazem da se ucitao ceo taj fajl. Ta definicija klase se svaki put ucita bila ona u else ili na pocetku ili na kraju jer kompajler kompajlira ceo fajl a ne uslov
koji je ispunjen u nekom slucaju.
Ama, jel' tebi i dalje nije jasno da u tvom primeru postoji i apc, postoji i klasa uvek, postoji i u mom (ali ima jedno else)... i da to što ti misliš da se dešava, .. zapravo se ne dešava, nego se dobija sirova klasa + zauzeće dodatnog apc slota. Koja je tu svrha? Da zaboravimo da
class objekat, instanca, class opcode (ma kako ti god drago) `NE MOŽE DA SE SPAKUJE ZA KASNIJE`, da bude komplet u memoriji, zarad performansi ili overheada ili čega već - uz pomoć apc_add, apc_store... MORA drugačije - da - se - radi. U ovom PHP-u, takvom, kakav je. Efekat iz tvog primera je još lošiji i više resorsa troši nego čist OOp bez bilo kakvih dodatnih memcache, apc-a, zend-a itd, itd..
Code (php):
<?php
if(apc_exists
('someValue'))
{
$myValue = apc_fetch
('someValue');
}
else
{
require_once('/path/to/file/where/someValueIs.php');
if(function_exists('some_function'))
{
$myValue = some_function
();
apc_add
('someValue', $myValue, 300);
}
}
echo $myValue;
Gornji primer, nakon prvog učitavanja, možeš slobodno sve što se nalazi pod `else` zapakovati u block comment /* */ pa refreš.
U narednih 5 minuta, nakon toga, čist apc radi. Nema priključenog fajla u get_included_files() uopšte.
E, to je svrha apc-a. Glavna.
Citat:
Primer, napravi u C isti program i kompajliraj ga i prvi put ce videti konstatnu a drugi put nece a to je isti program, isti fajl i ni jedan bajt mu nije menjan.
Jos jednom, ne kompajlira se tok programa vec program. Mesas to. To sto isti program u dva slucaja ima razlicite tokovo to nema veze, to je jedan te isti program, isti u svaki bajt.
A zašto bih u C napravio isti takav program? Zato što se iza PHP functionName() krije čist C ili zbog nečeg drugog?
Osim toga, uzeo sam konstantu kao primer. I sa $CONSTANT_NAME = 'test_value'; je potpuno isto, sa apc-om, prvi put će je biti, drugi put neće.
Ne mešam ama baš ništa. Možda imam nesvakidašnji sleng...
Citat:
Tvoji odgovori nemaju ama bas nikakve veze sa pitanjem, uporno promasujes temu i zbunjujes i mesas nebitne stvari.
Pokreni i vidi i kraj price. Radi za kursnu listu.
Moji odgovori su po meni, dovoljno dobri.
Da citiram samoga sebe kad moram.
jablan:
Q: Dakle, kada se učitavaju npr. model klase u PHP-u? Da li se čuvaju između requestova ili se uvek iznova učitavaju? U kom procesu žive? Kako se npr. čuvaju singleton instance? Itd.
+/-:
A1: Model klase, logika, itd.. se učitava tim pre to bolje.
Hoćeš li između klasa udenuti po koji if() else pa u zavistnosti od toga, nastaviti dalje sa učitavanjem (require/include) zavisi od samog developera i organizacije.
Sloboda izbora i više načina za jednu te istu stvar.
----------
PHP fajlovi se iznova uvek učitavaju, baš kao i RoR (server side scripting language, trči svaki put od a do š),
A2: Dakle, da. I ceo frejmwork ide svaki put, ukoliko taj frejmwork nije kao PHP ekstenzija ...
A3: Proces u kome se sve to obitava jeste httpd/apache (server) child proces. Ako nije u pitanju command line interface iil php-cli. Onda dobija svoj proces (daemon).
Zavisi i od toga kako je instaliran php pre svega. Uglavnom je to kao apache modul.
---
Ovo "baš kao i RoR" pod A1 - preskoči, očigledno da nije tačno, moje neznanje vezano za R + Rails.
Za kraj ovog posta.. moram da dodam, primećujem da svi vi koji koristite taj ubuntu, imate neku zajedničku crtu i kratak fitilj.
Šta je to sa vama? Šta je to što cannonical servira a da mi ostali ne znamo?
Sad gledaj da se razjariš i iznapadaš ne ponovo, samo zato što si dao - nekorektnu - PHP praksu kao primer.
about:networking