PHP alternatyvi sintaksė

Tikriausiai ne visi žinote ar naudojate alternatyvią PHP sintaksę. Tai padaro kodą tam tikrose situacijose šiek tiek skaitomesnį ir pan., nes reikia rašyti mažiau. Žodžiu, eime prie pavyzdžių.

Sąlygos sakiniai

if(sąlyga) {
    veiksmai
}

galime keisti į

if(sąlyga):
   veiksmai
endif;

Tai patogu, kai skripte yra ypač daug ‘{‘ ir ‘}’, o tarp jų dar ir galybė kitų veiksmų. Pats dažniausiai šią alternatyvą naudoju failuose, kuriuose yra daug HTML kodo, kurį reikia atspausdinti tik įvykdžius tam tikrą sąlygą – taip man vaizdžiau matosi. Taip pat ši alternatyva plačiai yra naudojama WordPress temose, kur, kaip žinia, taip pat daug HTML kodo.

Lygiai taip pat galime naudoti ir if-else sąlygą:

if(sąlyga):
  veiksmai
else:
  veiksmai
endif;

Yra dar viena sąlygos alternatyva:

$spalva = 'geltona';
print $valgyk = ($spalva != 'geltona') ? 'Valgyk' : 'Nevalgyk';

Kur TRUE, kur FALSE, aiškinti nereikia (juk žinote šį „pasakymą“? :D ). Na, bet jei reikia, tai už klaustuko TRUE, už dvitaškio FALSE…

Ciklai

Pirmiausiai, while ciklas:

while(sąlyga):
  veiksmai
endwhile;

Tas pats ir su for bei foreach:

for(...):
  veiksmai;
endfor;

foreach(...):
  veiksmai
endforeach;

Išvestis

Na, ir galiausiasis, kurį turbūt visi žinote.

 

echo $kintamasis;

keičiame į „short tags“

<?= $kintamasis ?>

Jei žinote daugiau, pasidalinkite komentaruose. :)

Žymės: , , , , , , , , , , , , , ,

Palik komentarą

Masyvo rikiavimo procedūra (Pascal)

Jog nepamirščiau, pasirašysiu čia masyvo rikiavimo procedūrą su Pascal kalba (liaudyje tiesiog vadinama FPS). Taip pat, gal kas nors per google užklys. Žodžiu.

procedure rikiuoti(n: integer; var masyvas: MAS);
   var i, j, c: integer;
 begin
   for i := 1 to n - 1 do
   begin
     for j := i + 1 to n do
     begin
       if masyvas[j] < masyvas[i] then
       begin
         c := masyvas[i];
         masyvas[i] := masyvas[j];
         masyvas[j] := c;
       end;
     end;
   end;
 end;

n – masyvo elementų skaičius

MAS -masyvo tipas (šiuo atveju MAS = array[1..100] of integer;)

Komentarai (3)

Linksma programėlė: Phun

Sveiki,

Šiandien radau labai linksmą programėlę windows’ams. Nenoriu visko pasakoti, nes reikia patiems pamatyti. Galiu pasakyti tiek, kad tiems, kam įdomi fizika, tikrai patiks. :D

Nuoroda parsisiųsti: Phun_beta_5_28_win32

Palik komentarą

WTF?

facebook

Komentarai (1)

Kaip pasigaminti RSS srautą savo svetainėje?

Tikriausiai ne vienoje interneto svetainėje matėte galimybę užsiprenumeruoti naujienas per RSS srautą. Jei dar nežinote, kas tai yra, (nors tuo abejoju), tuomet „pagooglinkit“.

Šiame straipsnyje parodysiu, kaip tokį pasigaminti patiems.

Kaip viskas vyksta?

Jūsų PHP skriptas sugeneruoja XML failą, kurį RSS skaitytuvai iškoduoja ir atvaizduoja tvarkingą naujienų sąrašą.

Pradedame

Situacija:

Turime lentelę MySQL duomenų bazėje, kurioje saugomi visi įrašai, tarkim, lentelėje ‘posts’, kuri atrodo taip: id | title | post.

Taip pat kiekvienas įrašas turi savo puslapį svetainėje, tarkim, tokiu adresu: http://adresas.lt/post.php?id=<id>

Pasirašykim skriptą, kuris ištrauks įrašus iš duomenų bazės ir įdės juos į masyvą. Tame pačiame faile vėliau atvaizduosim ir RSS srautą, tik reikės vienos antraštės (header). Įsivaizduokime, kad jau esame prisijungę prie MySQL serverio ir duomenų bazės, todėl šios skripto dalies nerašysiu.

<?php

// ištraukiam visus įrašus mažėjimo tvarka pagal ID (naujausias įrašas - pirmas masyve)
$feed = mysql_fetch_assoc(mysql_query("SELECT * FROM posts ORDER BY id DESC"));

Dabar truputį aptarsime generuojamo XML failo struktūrą.

<rss version="2.0">
<channel>
    <title>Pavadinimas</title>
    <link>http://nuoroda.i.svetainę</link>
    <description>Aprašymas</desription>

    <item>
        <!-- Čia apsirašo srauto įrašai.
             Naujas įrašas, nauja <item> žymė.
             Žymės tokios pačios, kaip ir aukščiau.
         -->
        <title>Įrašo pavadinimas</title>
        <link>Nuoroda į įrašą</link>
        <description>Įrašas</description>
    </item>

</channel>
</rss>

Kaip matot, nieko sudėtingo, paprastas XML failas.

Tęsiame skriptą

Reikia nurodyti naršyklei, jog čia yra RSS srauto failas, todėl siunčiame antraštę ir, kadangi toliau aprašysime RSS, užbaigiam PHP kodą (?>):

header("Content-Type: application/rss+xml;charset=utf-8");
?>

Apsirašom RSS taip, kaip anksčiau:

<rss version="2.0">
<channel>
    <title>Pavadinimas</title>
    <link>http://nuoroda.i.svetainę</link>
    <description>Aprašymas</desription>

Atvaizduojant įrašus patogu naudoti foreach sakinį, kadangi turime rezultatų masyvą.

<? foreach($feed as $post): ?>

    <item>
	<title><?= $post['title'] ?></title>
        <link>http://adresas.lt/post.php?id=<?= $post['id'] ?></link>
	<description><?= $post['post'] ?></description>
    </item>

<? endforeach; ?>

</channel>
</rss>

Štai tiek, tikrai nėra nieko sudėtingo. O dabar visas skriptas:

<?php

// ištraukiam visus įrašus mažėjimo tvarka pagal ID (naujausias įrašas - pirmas masyve)
$feed = mysql_fetch_assoc(mysql_query("SELECT * FROM posts ORDER BY id DESC"));

header("Content-Type: application/rss+xml;charset=utf-8");
?>

<rss version="2.0">
<channel>
    <title>Pavadinimas</title>
    <link>http://nuoroda.i.svetainę</link>
    <description>Aprašymas</desription>

    <? foreach($feed as $post): ?>

	<item>
	    <title><?= $post['title'] ?></title>
	    <link>http://adresas.lt/post.php?id=<?= $post['id'] ?></link>
	    <description><?= $post['post'] ?></description>
	</item>

    <? endforeach; ?>

</channel>
</rss>

Žymės: ,

Komentarai (3)

QR kodo generavimas su PHP

http://tru.lt QR kodas

http://tru.lt QR kodas

Jei nežinote, kas yra QR kodas ir kam jis reikalingas, tuomet paskaitykite šį straipsnį.
Jei jau žinote, galite skaityti toliau.

Taigi, jog sugeneruotume QR kodo paveikslėlį, panaudosime atvirojo kodą PHP biblioteką PHP QR Code. Ją naudoti yra be galo paprasta, užtenka vos kelių PHP kodo eilučių ir nereikia jokių sudėtingų konfigūracijų. Tiesa, yra du reikalavimai:

  1. PHP 5.2 arba naujesnė versija
  2. PHP GD2 biblioteka

Kaip pradėti?

  • Parsisiunčiame naujausią versiją (įrašo rašymo metu 1.1.4) iš šio puslapio.
  • išarchyvuojame parsisiųstą archyvą ir sukeliame visus failus į savo serverį (apie 500 KB).
  • sukuriame PHP failą, kuriuo generuosime QR kodą, kuriame rašysime vieną iš sekančių skriptų.
<?php
// Toks skriptas išves QR kodą tiesiai naršyklėje.
require 'phpqrcode/qrlib.php';
QRcode::png('kažkoks tekstas');
<?php
// Toks skriptas išsaugos QR kodo PNG paveikslėlį serveryje.
require 'phpqrcode/qrlib.php';
QRcode::png('kažkoks tekstas', 'QR.png');

Yra ir daugiau parametrų, tačiau į juos nesigilinsime, nes tiesiog norėjau parodyti, kaip paprasta sugeneruoti QR kodą.

Daugiau informacijos apie šią biblioteką galima rasti jos kūrėjų puslapyje phpqrcode.sourceforge.net.

Žymės: , , ,

Palik komentarą

Citatos Tavo svetainei

Sveiki,

Pasinaudojęs vieno žmogaus pasiūlymu sukurti WordPress valdiklį, kuris paima citatas iš mano svetainės, sugalvojau parašyti nesudėtingą sistemą, kuri leistų pasiimti citatas kiekvienam turinčiam savo svetainę.

Daug netestavau, todėl nesu tikras, ar viskas veikia taip, kaip turėtų, todėl labai nepeikit, jei kas ne taip.

Sistemos aprašymas Citatos.Eu svetainėje šiame puslapyje. Jei aprašyme yra klaidų, norėčiau, kad praneštumėte. Svetimi klaidas greičiau pastebi, nei tai padarai pats. :)

Komentarai (1)

Svetainė: Citatos.Eu — Citatos. Protingos mintys.

Visada norėjau sukurti savo WEB svetainę pats, t.y. be jokių TVS ir pan. Mano noras išsipildė. Per kelias savaites su pertraukom ir darbu porą valandų per dieną sugebėjau sukurti didžiąją dalį svetainės. Kodėl ir kaip kūriau ją, galima pasiskaityt šios svetainės skiltyje „Apie Svetainę“.

Beieškant citatų, radau gana ne mažai tokio tipo svetainių, tai gal tokių svetainių savininkai labai nesupyks už tokį idėjos „kopijavimą“… :D

Norėčiau, kad įvertintumėt mano darbą, pirmiausiai iš techninės pusės, gal kokių klaidų, kurių nepastebėjau, rasit. Turinio kol kas nėra labai jau daug. Tai tiek, neturiu ką daugiau pasakyt. Laukiu Jūsų atsiliepimų. :)

Nuoroda į svetainę: Ci.Tru.Lt

Komentarai (6)

Mokomės Python vartotojo sąsajos kūrimo su Tkinter moduliu

Štai taip atrodys mūsų programa

Štai taip atrodys mūsų programa

Visai neseniai rašiau mažą programėlę informatikos pamokai kaip pavyzdį, kaip atrodo Python. Kadangi pagalvojau, kad rodyti vien tik konsolės langą (cmd), atrodo negražiai, paprogramavau šiokią tokią vartotojo sąsają (GUI). Taigi trumpai ir su pavyzdžiais pabandysiu aprašyti visą procesą.

Prieš pradedant, noriu pranešti, kad bus reikalingos bent minimalios Python OOP žinios.

Pirmiausiai, iškelkime sau problemą. Parašysime programą, kuri atvaizduotų Fibonačio skaičių seką iki tam tikro skaičiaus, kurį mes įvesime patys. Programos lange turi būti: įvedimo laukelis, patvirtinimo mygtukas ir laukas, kuriame išvesime skaičių seką. Beje, funkcija, gauti Fibonačio skaičių seką, yra Python manual‘e, todėl nereikės jos rašytis patiems. Užteks truputį paredaguoti. [Skaityti daugiau...]

Žymės: , , ,

Palik komentarą

Migruojam: us.lt -> serveriai.lt

Pavadinimas kalba pats už save. Prieš keletą dienų persikėliau į naują hostingą: serveriai.lt. To „kaltininkas“ — pasiūlymas įsigyti bet kurį planą metams tik už 1 LT (vieną litą!!!). Nors man pilnai pakako ir us.lt pirmo SMS plano teikiamų resursų, neatsispyriau pagundai išbandyti ir turbūt geriausią, na, jei ir ne, tai bent vieną iš geriausių hostingų Lietuvoje.

Beje, draugai, vykdant perkėlimą, kartais atsitinka nenumatytų dalykų: tai koks failas pasimeta, ar šiaip kas… Todėl, jei pamatysit, kad kažkas ne taip, kaip turi būt, tai būkit geri, praneškit.

IKI. :)

Komentarai (5)