PHP: جیاوازیی نێوان پێداچوونەوەکان

لە چاوگ
ھێڵی ١٣٩: ھێڵی ١٣٩:




{| style="float: left; direction: ltr;width: 45%;color:green;background-color:#ffffcc;" cellpadding="20" cellspacing="0" border="1"
{| style=" direction: ltr;width: 45%;color:green;background-color:#ffffcc;" cellpadding="20" cellspacing="0" border="1"
|\n
|\n
|A newline
|A newline

وەک پێداچوونەوەی ‏١٤:٢٦، ١ی شوباتی ٢٠٠٩

پێشەکی

لۆگۆی php

ئەم زنجیرە وانانەی لێرەوە بەزمانی کوردی دەنوسرێن، زادەی بیری تاکەکەسی خۆمان یان کەسێکی چــــاوگ نییە، بەڵکو لەسەر بنەمای دەق بەدەقی ئەو وانە زانستی و دروستانەیە کەلەسەرچاوی فەرمی فێربوونی PHP/Manual ڕاژە دەکرێت. ئەم وانانە لە یەکەم هەنگاوە تاوەکو دواهەمین هەنگاو لەفێربوونی ئەم زمانە بەردەوام دەبێت. تەنها وەکو خوێنەر ئاگاداری ئەوەبە کەئەم بابەتانە نوێدەکرێتەوە و پێویستی بەچاکردنەوە و زۆرکردنی بەردەوام هەیە. هەروەکو ئێمە دەنوسین جەنابیشت دەتوانیت دەستکاری بکەیت و چاکیان بکەیتەوە یان دەرکردن و زۆرکردنی تێدابکەیت. لەکۆتایی ئەم وانانەدا دەیکەین بەپەرتووکێکی ئەلیکترۆنی تاوەکو زیاتر سوودمەندبن.

پێداویستی

  • بۆ ئەوەی بتوانیت ئەم زمانە فێربیت، دەبێت زمانی‌ HTML بەدروستی بزانیت، ئەگەر لەیەکێک لەزمانە گەورەکانی وەکو C و JAVA شارەزاییت هەبێت. زۆر پێشینەیەکی باشت بڕیوە و ئاسانتر ڕوونترە لەلات. بۆ فێربوونی HTML چاو لێرە بکە.
  • پاشان پێویستە کەدەستکاریکەرێکی/نوسەرێکی باشت هەبێت بۆ ئەم کارە، لەکاتی ئێستادا دەستکاریکەری خۆڕایی زۆرن و کارەکان بەسەرکەوتوویی بێخەوش ڕادەپەڕێنن، لەوانە:

تێبینی: هەموو نوسەرەکانی WYSIWYG ئامۆژگاری نەکراوە بۆ نوسینی کۆدەکان و شارەزایی لێیان بەڵگەی شارەزایی نییە لەهیچ زمانێک، نوسەری WYSIWYG وەکو FrontPage & Dreaweaver


دەستکاریکەرێک بۆ نوسینی کۆدەکان

  • لەکۆتاییدا تۆ پێویستت بەوەیە ڕاژەیەک هەبێت کۆدەکانی PHP لەسەر وەگەڕبخەیت، ڕاژەخواز زۆرن، لێرەدا بۆ بەکارهێنەرانی ویندۆز ئامۆژگاری دەکەین بە XAMPP :

بۆ بەکارهێنەرانی ویندۆز

XAMPP هەرچەندە ڕاژەخوازی تر زۆرن بۆ ئەم کارە بەڵام بەگشتی ئەوە بەبنەڕەت دەزانین.

بۆ بەکارهێنەرانی لینوکس

گورزەی Mysql-Server و Phpmyadmin و php دابمەزرێنە. ئەم سەرەتا و پێداویستیانە بناغەی وانەکانی داهاتووە، دەبێت بەدروستی و بەبێ هیچ کێشەیەک کارەکان ئەنجام بدەیت و لەبچوکترین کێشە بەدوای چارەسەر بگەڕێی و لەمەکۆکان بینوسیت.

  • لەئوبونتو و دێبیان
# apt-get install apache2 apache2-doc php5 php5-mysql mysql-server phpmyadmin 
  • فیدۆرا
# yum install apache2 apache2-doc php5 php5-mysql mysql-server phpmyadmin

پشکنینی ڕاژە

بۆئەوەی زانیاری لەسەر دامەزراندن و جۆری هەڵبژاردنەکانی PHP بزانیت لەسەر ئەو ڕاژەیە وەکو گۆڕاوەکان و بەستەری سەرەکی و GD Lib کەلەم ڕۆژەدا گرنگی تایبەتی هەیە دامەزراندنی لەسەر ڕاژە و زۆری تر وەکو نرخی بارکردن و بیرۆکە. لەپەڕەیەکی نوێدا ئەم کۆدە دابنێ:

<?php
phpinfo();
?>

بۆ نمونە ناوی بنێ phpinfo.php و باربکە بوخچەی سەرەکی و بانگی بکە لەوێبگەڕ:

 http://localhost/phpinfo.php

دەبێت زانیاریەکان نیشان بدات.

دروستکردنی پەڕەیەکی PHP

کۆدەکانی php هەموو کات لەنێو کۆدەکانی html بنیات بنرێت، بۆچوونە ناو مۆدولی PHP ــیەوە دەبێت بە <?php دەستپێدەکات و کۆتاییهێنان بەم مۆدە بە ?> دەبێت. ئەم جۆرە شێوەپێدانە باوترین و گونجاترینە و بەخانەخوێکە دەڵێت کەلەنێو ئەم دوو هێمایەدا کۆدی php هەیە و ڕاژەکارەکە بەوپێی هەڵبژاردنە و ڕێکخستنانە مامەڵەی لەگەڵ دەکات. وە مەرجە هەمووکات پەڕەکان بە .php کۆتایی بێت. ئەمەش بەشێوەیەکی بنەڕەت ئێستا باوە، هەرچەندە لەلایەن بەڕێوبەری سیستەمەکەوە دەتوانرێت بگۆڕدرێت. نمونەیەکی ئاسایی:


<?php
echo "Nmunei kodêkî PHP\n";
?>

وەکو ئاماژەمان پێداوە پێشتر، مۆدی php دەتوانرێت تەنها لەو شوێنە بانگ بکرێت کەدەتەوێت، بۆ نمونە:


<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="en" lang="en">
    <head>
        <title>Sillaw</title>
    </head>
    <body>
        <?php
        echo "<p>Lêre kodekanî PHP  bnûse</p>\n";
        ?>
    </body>
</html>

بەم نمونەیە دەمانەوێت بڵێین ئەو کۆدەی لەنێو مۆدەکەدا نەنوسراوە وەکو php مامەڵەی لەگەڵ ناکرێت و دەدرێتەوە بەوێبگەڕ بۆخوێندنەوەی وەکو خۆی بەبێ ئەوەی بچێتەوە ڕاژەکەوە لەوێ بەئامێری php وەگەڕبخرێت و ئەنجا بدرێتەوە بەوێبگەڕ. ئەم ڕۆیستن و خوێندنەوەی لەلایەن ڕاژەکار و ڕاژەخواز و پاشان دانەوەی بەوێبگەڕ گرنگترین بنەمایە لەمەدوا بۆ تێگەشتن لەزیندویی و خۆکاری ئەم زمانە. ئەگەر سەرنجی بدەیت دەبینیت لەسەرەتای کۆدەکاندا ئەم دێڕە هەیە:


<?xml version="1.0" encoding="utf-8"?>

ئەمە بریتییە لەheader وە بوونی ئەمە بەو واتایەیە کەچیتر پێویستت بە setcookie و Header نابێت بۆ ڕێکخستنی.


ڕیزبەند و دەرەنجام [Output and strings]

یەکەم ئامانج لەهەموو زمانێکی داڕشتن و پڕۆگرامۆکەیەک دەرەنجامە. هەروەها گرنگە بزانین چۆن ڕیزبەند دەکرێت لەنێو کۆدەکاندا. ڕیزبەند بۆ دیاریکردنی بڕێکە دوای دانەوە و بانگکردنی. لە PHP دا بانگکردنی شتیک بەبێ ئەوەی مۆدی PHP بەجێبهێڵیت واباوە echo بەکارببرێت. هەرچەندە ئەم بانگکردنە بەم شێوەیە شتێکە دەبێت تێگەشتنێکی تەواوی هەبێت پێش تێگەشتنی هەموو زمانەکە بەگشتی. بانمونەیەکی بۆ بهێنمەوە:

<?php
echo 'Deqeki asaiy u bangkirdni';
?>

بەڵام ئەوە بزانە echo کردارێک نییە بەڵکو بنیاتنەرێکی زمانە language construct. ئەمە هەمان شت لەخودی ماڵپەڕی سەرەکی ئاماژەی بۆ کراوە بەم شێوەیە:

echo() is not actually a function (it is a language construct), so you are not required to use parentheses with it.

دووەم شت کەزۆر گرنگە بیزانین ڕیزبەندە واتا ئەوەی دەکەوێت نێوان ' ئەوەی لەنێواندایە echo بانگی دەکات و دەرەنجامی دەکات. بۆیە دەبێت ئەنجامی نمونەکەی سەرەوە ئەمە بێت. کاتێک بەوەگەڕخەرێکی PHP بانگ دەکرێت و دەخوێنرێتەوە:

Deqeki asaiy u bangkirdni

ئێستا ڕیزێکی تر بۆ هەمان نمونەی سەرەوە زۆر دەکەین:

<?php
echo 'Deqeki asaiy u bangkirdni';
echo 'Eme deqeki tr bo nmuneke';
?>

ئێستا هەمان کۆد و نمونە بەگەڕ بخەین ئەمە ئەنجامەکەیەتی:

Deqeki asaiy u bangkirdni Eme deqeki tr bo nmuneke

ئەگەر دیقەت بدەیت دەبینیت سەرەڕای ئەوەی هەردوو بانگکردنە لەسەر یەکن لەکۆدەکانی PHP دا بەڵام لەتەنیشتی یەک دراونەتەوە بەیەک دێڕ. بۆئەی دێڕی دووەم بکەوێت خوار دێڕی یەکەمەوە لەکاتی دانەوەدا دەبێت <br/> لەکۆتایی یەکەم دێڕەوە دروست بکەین، تاوەکو دووەم دێڕ فڕیبداتە خوار خۆیەوە. بانمونەکە بەم شێوەیە لێبکەین:

<?php
echo 'Deqeki asaiy u bangkirdni<br/>';
echo 'Eme deqeki tr bo nmuneke';
?>

ئێستا دەرەنجامەکە ئەمە دەبێت:

Deqeki asaiy u bangkirdni 
Eme deqeki tr bo nmuneke

دیاریکردنی ڕیزبەند

ئەوەی زۆر گرنگە بیزانیت دەبێت هەموو کات ڕیزبەند دروست نیشانی ئامێری PHP بدرێت تاوەکو بەدروستی دەرەنجامیان بداتەوە. هەروەها لەکۆتایدا هەموو کات خاڵ و فاریزە ; بۆ فرمان و ئاگاداری کەڕیزبەندیەکە کۆتایی هاتووە. خستنە ناو ڕیزبەندەوە بە تاک خاڵ دەکرێت ' یان بەجووتخاڵ ". هەردوکیان کارەکە دەکەن بەڵام لەهەندێک شوێن و کاتی هەستیاردا دەبێت وریا بین. هەوڵ دەدەین بەگوێرەی ڕوونکردنەوەکان و نمونەکە بگەینە مەبەست.

<?php
echo 'Deqek be ' Takxall';
echo 'Deqeki tr';
?>

ئەگەر تەماشا بکەیت ڕەنکردنەکان تێکچوون دەرەنجامەکەش هەمان شت. لێرەدا جووتخاڵ " قسەی خۆی هەیە و دەتوانێت هەمان دەق دروست بداتەوە. بانمونەیەک بهێنینەوە و تەماشایەکی جوانی ڕەنگکردنی ناو ڕیزبەندەکە بکە:

<?php
echo "Deqek be ' Cutxall";
echo "Deqeki tr";
?>

ئەمجارەیان دروستە و تاکخاڵ لەناوەڕاستەوە هەژماری ناکرێت و ڕیزبەندیەکە ناشێوێنێت. تەماشای هەردوو نمونەکە بکە لەڕووی تاقیکردنەوە و دەرەنجام و ڕەنگکردنەوە. یان دەتوانیت ڕیزه‌ده‌ربازبوون Escape-Sequenz تاوەکو ناو ڕیزبەندەکە ' نەخوینرێتەوە بەڵکو هەژماری کۆتاییەکەی بکات. وەکو لەم نمونەیەدا دەردەکەوێت:

<?php
echo 'Deqek be \' Takxall';
echo 'Deqeki tr';
?>

ئێستا دەتوانین هەمان کۆد بەکار بەرینەوە بەڵام ئەمجارە بەجووتخاڵ " وەکو ئەم نمونەیە:

<?php
echo "Deqek be \" Cutxall";
echo "Deqeki tr";
?>

لێرەدا پرسیار ئەوەی چۆن بتوانم ڕیزه‌ده‌ربازبوون \ دروست بکات بەبێ بەکارهێنانی تاکخاڵ و جووتخاڵ؟ باتەماشایەکی ئەم نمونەیە بکەین:

<?php
echo "Eme le cutxallda \\ bzane chone";
echo 'eme le takxallda \\ bzane chone';
?>

هەرچەندە تاکخاڵ و جووتخاڵ هەمان کرداریان هەیە وەدەتوانرێت بەگوێرەی ئارەزووی نوسەر بەکارببرێن، بەڵام جووتخاڵ زیاتر دەتوانێت ڕیزه‌ده‌ربازبوون \ دەربخات و زەقی بکاتەوە.

خشتەی ڕیزه‌ده‌ربازبوون \ [escape sequences]

\n A newline
\r A carriage return, often used for network protocols.
\t A tab
\v A vertical tab, not often used
\f A form feed, even used less than \v
\$ The dollar character. Without these sequences php tries to find a variable and fills in the content of the variable.
\0 to \777 A character from the area of 0x000 to 0x1FF
\x0 to \xFF A character from the area of 0x00 to 0xFF

جۆری تری ڕیزبەند دیاریکردن

لەپاڵ جووتخاڵ و تاکخاڵدا دوو شێوەی تری دیاریکردنی ڕیزبەند هەیە وەکو heredocs & nowdoc. بۆ روونکردنەوە و زیاتر وردبوونەوە تەماشای Strings بکە.

سەرنج [Comments]

سەرنج نوسین وەکو باوە بۆ ئەوەیە زیاتر ڕوونکردنەوە بدەیت بەفرمان و کار شوێن و داخوازی. هەمان کات دەتوانێت سوودمەندبێت بۆ یەکێک پاس خۆت کەئەو کۆدانە بخوێنێتەوە بەبێ کێشە و مەبەستەکە بگات بزانێت بۆ ئەم کردارە کراوە. زۆرکات بۆ خودی کۆدنوسەکەش پێویستە کاتێک زۆر کۆد بنوسێت. بەهەمان شێوە دەتوانرێت فرمان و چەند کردەیەکی پێ ناچالاک بکەیت. لە HTML دا فێبوویت کەسەرنج نوسین بەهۆی

<!-- Serinc le HTML -->

وە دەکرێت.

جۆرەکانی سەرنج PHP

بەگشتی لە PHPدا چوا ر جۆر سەرنج نوسین هەیە. هەرچەندە 3 دانەیان بەکاردەبرێن و بڵاون. لەو 3 دانەیشدا دوانیان زۆرگرنگی تایبەتیان هەیە و وەکو بنەڕەت لەزۆربەی زۆری کۆدەکاندا بەرچاومان دەکەوێت.

  • سەرنجی تاکدێڕی one line comments
  • سەرنجی کۆمەڵەدێڕی multi line comments

سەرنجی تاکدێڕی

ئەم جۆرەیان تاوەکو کۆتایی مۆدێکی PHP کەبە?> کۆتایی دێت بڕ دەکات. وەهەمیشە بە // دەستپێدەکات. بەڵام ئاگاداری ئەوەبە لەگەڵ جووت ڕیزه‌ده‌ربازبوون \\ لێت نەگۆڕێت. هەوڵ بدە لەم نمونانەی خوارەوە زیاتر ڕوونبێتەوە لەلات:

<?php
echo 'Deqek'; // eme Deqek nishan dedat

// Deqeki tr bnuse
echo 'Deqeki tr';

// echo 'Karnakem chunke lenaw rizbendek kirawim';

echo 'Karnakem chunke lenaw // rizbendek kirawim';

// Serinc derrwat taweku kotaiy ?><?php echo 'Min tewaw itr Serinc nim '; ?>

ئەگەر تەماشای بکەیت دەبینیت هەموو // نەبووەتە سەرنج. تکایە جوان دیقەتی ڕسته‌كار، داڕستن Syntax بدە. بزانە چۆنە؟ و چۆن ڕەنگەکان کران؟

سەرنجی کۆمەڵەدێڕی

ئەمەیان باشترە و ئامۆژگاری کراوە ئەگەر سەرنجەکان نزیکەی دێڕێک یان کۆمەڵێک دێڕ بن. هەروەها لەسەرنجی تاکدێڕدا لەپێش ?> کۆتاییان دەهات. بەڵام لەمەیاندا بەم شێوەیە /* دەستپێدەکات و بە */کۆتایی دێت بەم شێوەیە:

/* Hemu deqek lenaw emeda weku Serinc derdekewt le PHP da */

گۆڕاوەکان [Variables]

کردەهێما [Concatenation operator]

ژمارەکان [Numbers]

بیرکاری [Calculation with numbers]