Jump to content
php.lv forumi

Kaklz

Moderatori
  • Posts

    1,401
  • Joined

  • Last visited

Everything posted by Kaklz

  1. Kaklz

    Menu iecentreeshana

    pieliec pie #top_menu a{ display: block; width: 150px; } A vispār šitādus menu gudri vīri taisa ar <ul> <li>Menu Item 1</li> <li>Menu Item 2</li> </ul> palīdzību: <style type="text/css"> ul { list-style-type:none; margin: 0; padding: 0; } ul li{ display: block; float: left; width: 150px; height: 25px; background-color: silver; text-align: center; } ul li a{ display: block; line-height: 25px; } ul li a:hover{ background-color: gray; color: white; font-weight: bold; } </style> + <body> <ul> <li><a href="#">Menu Item 1</a></li> <li><a href="#">Menu Item 2</a></li> </ul> </body>
  2. Kaklz

    FLASH MX

    ja nemaldos, tad flash iekļauj attiecīgo fonta failu pašā flash klipā, attiecīgi ir jādabū tādi fonti, ar kuriem var rakstīt normāli uz paša datora krievu valodā un tad tas pats fonts jāizmanto, lai rakstītu flash animācijā.
  3. Šādiem mērķiem man liekas visai labi noder triviālākais no patterniem - singleton patterns. Būtībā tas ir mehānisms, kā visur, kur tev vien ir nepieciešams, var darboties ar vienu klases instanci. Tavā gadījumā darbs ar db ir ļoti labs piemērs - tev ir nepieciešama viena konekcija, kuru tu izmanto visā savā programmā. Neatkarīgi no tā, vai tā ir kāda klase vai vienkārši parasts skripts. Singleton patterns izskatās apmēram šādi: http://paste.php.lv/1540 Tagad visās vietās, kur tev ir nepieciešams savienojums ar datubāzi, tu nevis raksti $db = new MySQL(), bet $db = MySQL::instance() un darbojies ar vienu vienīgo DB objektu. Ja mazliet nav skaidrs, kā tas darbojas, tad izstāstīšu. Klases metodes var izsaukt arī tad, kad vēl neeksistē pati klases instance (izmantojot sintaksi KlasesVaards::MetodesVaards()). Attiecīgi vēl pirms DB objekta izveidošanas mēs izsaucam instance() metodi, kura pārbauda vai DB objekts jau ir uztaisīts vai nē. Ja objekts ir uztaisīts, tad tiek atgriezta norāde uz uztaisīto objektu. Ja objekts vēl nav uztaisīts, tad instance() metode to veiksmīgi izdara un atgriež norādi uz tikko izveidoto objektu. Tādā veidā tiek panākts, ka neskaitāmas reizes izsaucot MySQL::instance() visā skripta gaitā, tu vienalga iegūsi vienu konekciju. Tagad par to, kā sadarboties divām klasēm. Man jau liekas, ka tevis pieminētajam variantam par $this -> db nav nekādas vainas. Pats tā esmu darījis un nekādu problēmu nav bijis. Esmu darījis arī tā, ka tajās klases metodēs, kur ir nepieciešams savienojums ar datubāzi, izmantoju iepriekš aprakstīto singleton patternu. Nepretendēju uz vienīgo un pareizo risinājumu, bet tas man liekas tīri saprātīgs.
  4. Kaklz

    2x2

    Padomā par kaut ko līdzīgu šim: $news = array('news1' , 'news2', ' news3' , 'news4'); $newsId = 0; echo '<table><tr>'; foreach ($news as $newsItem){ echo '<td>' . $newsItem . '</td>'; if ($newsId % 2 == 0 && $newsId < count($news) - 1){ echo '</tr><tr>'; } } if ($newsId % 2 != 0){ echo '<td> </td>'; } echo '</tr></table>';
  5. Par daudz tu gribi :). Bildes ir faili, kuras aplūkot var tikai tad, ja tās atrodas uz servera. Nedomāju, ka atradīsi tādu CMS, kurš ar copy & paste varētu tev ievietot arī bildes un augšupielādēt uz serveri. Ja atrod, pastāsti par tādu arī pārējiem.
  6. Kaklz

    imagefttext

    Nav nozīmes, kur stāv fonts. Galvenais ir pats fonta fails. Esmu darbojies arī uz Linux OS ar TrueType fontiem (tiem, kas nāk Windows komplektā). Viss darbojas bez jebkādām problēmām.
  7. Kaklz

    imagefttext

    Tu taču pats jau esi tēmas nosaukumā ielicis vajadzīgās funkcijas nosaukumu. Kur ir problēma? imagefttext tu vari iebarot jebkādu FreeType fontu, līdzīga ir arī imagettftext, kurai tu vari iebarot jebkādu TrueType fontu. Ar fontiem ir tā, ka tu vienkārši aizej uz savu C:/Windows/Fonts vai kāda viņa nu tur ir un savāc attiecīgi Arial Bold Italic fontu un iekopē blakus php skriptam, pēc tam font parametrā ieraksti faila nosaukumu. imagestring ir funkcija, kas izmanto tikai viena veida iebūvētos fontus, tie nav noformējami, ja neskaita izmēra un krāsas maiņu.
  8. Uz tavu jautājumu nevar viennozīmīgi atbildēt. Skatīsies to, kura ir pēdējā definēta. style.css: .klase{color: green} Variants numur 1: <html> <head> <style type="text/css"> .klase{color: blue;} </style> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body></body> </html> Rezultāts - ar attiecīgo klasi apzīmētie elementi ir zaļā krāsā Variants numur 2: <html> <head> <link rel="stylesheet" type="text/css" href="style.css" /> <style type="text/css"> .klase{color: blue;} </style> </head> <body></body> </html> Rezultāts - ar attiecīgo klasi apzīmētie elementi ir zilā krāsā. Tā kā nav nozīmes, kur tu kuru CSS definīciju liec - pašā dokumentā vai ārējā failā. Nozīme ir tam, kādā secībā tu šīs definīcijas izvieto.
  9. Kaklz

    Darbs

    12632[/snapback] a kur problēma? Teiksim, 3. kursa datorzinātņu bakalaurs LU to visu pietiekami labi jau var pārzināt.
  10. Labāk aizmirsti par tādām muļķībām. Es labrpāt gribētu piekļūt visu savu lapas apmeklētāju My Documents mapei un savāk visus dokumentus, kas tur ir, lai pēc tam viņus varētu šantažēt un izspiest lielu naudu. :P Tev, puis, ir maza nojēga par to, kā vispār notiek bildīšu un mājas lapu parādīšana internetā. Lai tu kaut ko varētu parādīt no lietotāja datora, uz tā ir jābūt kādai programmai, kas tev to bildi piedāvā. Ar pliku Windows/Linux/kādu citu OS nepietiek. Tam ir nepieciešama servera programmatūra, teiksim tas pats Apache. Attiecīgi tad nu vienīgais variants, kā tu varētu bildi rādīt no apmeklētāja datora ir piespiest viņu uzstādīt savu web serveri, likt lai viņš bildes saliek web servera saknes direktorijā un pēc tam vienkārši ņem un bildes augšupielādes vietā raksta tavā formā kaut ko līdzīgu http://80.80.80.80/bilde.jpg, kur 80.80.80.80 būtu viņa datora IP adrese. Ja jāsaka godīgi, līkāku risinājumu ir grūti iedomāties. Attiecībā uz <img src="file:///" /> - labāk aizmirsti par tādām perversijām.
  11. Tu viņu katru reizi vienkārši ņem un pārraksti, tur arī ir tā problēma. Ja tu kaut ko ieliec sesijā, tad nākamajā lapā tev tas vairs nav viņā jāliek iekšā - tu jau vari ņemt ārā. Attiecīgi: varētu izskatīties kā: <?php if (!empty($_POST)){ extract($_POST, EXTR_SKIP);} if (!empty($_GET)){extract($_GET, EXTR_SKIP);} if (!empty($_COOKIE)){extract($_COOKIE, EXTR_SKIP);} session_start(); if (!empty($vards) && !empty($dators)){ $_SESSION['vards']=$vards; $_SESSION['dators']=$dators; } Pēc tam skatāmies tālāk ;)
  12. Kaklz

    News

    Netaisos uzsākt bezgalīgu un nejēdzīgu diskusiju, taču tas ir viens no momentiem, kas tomēr ir jāņem vērā - ja tu katru funkciju bāzīsi savā failā un galu galā tavam PHP skriptam dzīves laikā būs jāatver teiksim 30 faili, ar garantiju, ka tas būs stipri lēnāk, nekā tad, ja tam būs jāatver tikai 10 faili.
  13. Kaklz

    News

    Tikko tu liec kaut ko kā include, tā ir uzreiz papildus faila atvēršanas, nolasīšanas un aizvēršanas operācija, kas attiecīgi nozīmē uzreiz papildus laiku pie scenārija izpildes. Bet nu pie tik sīkiem brīnumiem, kāds ir šis par to var neuztraukties :)
  14. Ja gribi progresu, kādā momentā ir jāatsakās no backward compability.
  15. Kaklz

    encoding

    Es ieteiktu izvēlēties visu taisīt UTF-8 kodējumā un tad būtībā problēmu vairs praktiski nebūs. Vienīgā problēma tev varētu būt Windows videi atrast labu redaktoru, kas atbalsta UTF-8.
  16. Sintakse ir tāda pati :) Noformulē savu problēmu, tad arī runāsim tālāk.
  17. Ir labi tā, kā strādā un kā tu (citi) var saprast. Es tā nedaru, bet saprotu :P.
  18. Kaklz

    OOP stils

    ivka, varbūt iemet aci šeit :http://forge.novell.com/modules/xfmod/project/?phowl Novell ir ķēries pie lietas ;)
  19. To sauc par burvību līdz brīdim, kamēr viss darbojas. Brīdī, kad tev ir jāsaprot un jāizlabo kāda cita rakstītie garadarbi tad nu drīzāk to sauc par čakarēšanos un kakla laušanu ..
  20. Loģiski, jo katrs nākamais programmētājs grib pavicināt pirkstus \m/ formā un pateikt, ka iepriekšējais programmētājs ir bijis galīgs dunduks un visu sarakstījis greizi. Ja tev uzteiktu tāda projekta supportēšanu un paņemtu vietā kādu programmētāju bez teiksim 3 gadu pieredzes, tad ar garantiju, ka agrāk vai vēlāk viss tiktu aizlaists podā. Nelaime ir tā, ka PHP kā programmēšanas videi/valodai vairāku gadu garumā tā arī nav izveidojies nekāds puslīdz oficiāls "Best practices", kā vienu vai otru lietu vajadzētu veidot. Attiecīgi ir tā, ka gandrīz katrs PHP programmētājs izgudro savu programmēšanas pieeju, kurā tad nu viņš pats arī daudz maz normāli orientējas.
  21. Vispār jau MySQL 5.0.x skaitās development release un kā paši izstrādātāji norāda, tad tur vēl ir daudz kritisku kļūdu Note: The 5.0.2 build passes most of our test suite and fixes a lot of reported bugs found in the previous 5.0.1 release. However, please be aware that this is not a 'standard MySQL release' in the sense as there are still some open critical bugs in our bugs database that affect this release as well. Therefore this is more of a "snapshot release" of the current state of affairs. We are actively fixing these issues and will make a new release where these are fixed as soon as possible. However, this snapshot gives you an opportunity for testing and evaluating the new MySQL 5.0 features for future products.
  22. addslashes() vietā labāk izmantot atbilstošo DBVS funkciju, piemēram, mysql_real_escape_string(), sqlite_escape_string() vai vēl kādu citu. Vienkārši dažādām DBVS ir dažādi uzskati par to, kā ir jāizvairās no ', " un citiem jūtīgajiem simboliem ;) atkarīgs no tā, vai tu gribi redzēt HTML, vai nē :P
  23. Neba nu tu būsi vienīgais, kas ir nonācis pie tāda secinājuma. Teikšu uzreiz, ka oficiālos MVC iemēģinājis neesmu. Liekas, ka iemesls ir viens - vienkāršu problēmu sarežģīšana ja ne kvadrātā, tad dubulti pilnīgi noteikti. Ja ir laba humora izjūta un interese palasīties, ir viens labs piemērs par "Hello world" tipa PHP programmu, izmantojot patternus: http://www.phppatterns.com/index.php/artic...leview/103/1/1/ Attiecībā uz vajadzēja/nevajadzēja - domāju, ka par ļaunu nenāks ;)
  24. Kaklz

    OOP stils

    Ir stilīgi pacelt augšā vairāk kā pus gadu vecas tēmas ;) Atzīšos godīgi, tagad mana izpratne par OOP ir krietni vien savādāka, nekā tā bija to vairāk kā pus gadu atpakaļ, proti tā vairāk līdzinās tavam piedāvātajam variantam, taču man diez kā nesimpatizē tāda pieeja. Kaut kur lasīju vienu labu teicienu par visādiem frameworkiem .. 'izmantojot kādu no frameworkiem tu automātiski piekrīti visiem framework iebūvētajiem noteikumiem'. Attiecīgi tikko tu sāc izmantot kaut vai tevis paša slavēto MVC pieeju, tā tu gandrīz automātiski arī zaudē PHP kā dinamiskas programmēšanas valodas spēku. Kaut vai tā pati dinamiskā SQL ģenerēšana, ko tu liec priekšā - esmu izmēģinājis visvisādus piegājienus, taču vienā jaukā brīdī tu saproti, ka jebkurš automātiski ģenerēts SQL nav tikpat labs cik ar roku rakstīts, jo tieši ar roku rakstīto tu ideāli pielāgo katrai konkrētai situācijai, nevari paredzēt visas iespējamās nākotnes iespējas. Protams, Extend, override, bet tas manuprāt nav tas labākais risinājums, ja var to visu vienkāršot. Vecais labais KISS princips - Keep It Simple and Stupid :) Diskusija par PHP un MVC būtībā būtu atsevišķas tēmas vērta ;) Man ir radies priekšstats, ka ir lietas, ko var un vajag no tā izmantot, taču pilnīgs PHP MVC ir lieka laika šķiešana. Attiecībā uz PHP un OOP nevajag sākt skaldīt matus .. tikpat labi es tev varētu pārmest, ka tu XHTML lapu nebūvē ar XML rīkiem, nedefinē katru XHTML elementu kā jaunu klasi, utt.
  25. Jāatbild ir uz to, ko prasa :P Cilvēkam visticamāk ir kāds uz ārzemju auditoriju orientēts produkts vai pakalpojums un attiecīgi ir nepieciešams, lai arī tur Eiropā, vai ASV mājas lapa būtu pietiekami ātra.
×
×
  • Create New...