فێربوونی زمانی PHP بەکوردی

لە چاوگ
لۆگۆی فەرمی PHP

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

پێداویستی

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

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

    • نوسەری WYSIWYG وەکو FrontPage & Dreaweaver


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

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

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

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

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

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

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

پشکنینی ڕاژە

وێنەیەکی پەڕەی PHPinfo ئاسایی لەسەر ڕاژەی ئوبونتو

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

<?php
phpinfo();
?>

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

 http://localhost/phpinfo.php

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

پاراستن لە PHP.ini

بەحوکمی توانای PHP لەبوارەکانی وێبدا و هەمیشە فراونترکردنی کارەکانی، هەمان کات بەڕێژەیی لەڕێگای کون و کەلێنەکانەوە پەلامار و تێکدانەکان زۆرتر دەبێت. وەکو دەزانرێت کرۆکی ڕێکخستنی هەڵبژاردنەکانی PHP لەپەڕەی PHP.ini دایە.جاوەکو شێوەیەکی گشتی دەبێت هەڵبژاردنەکان تائەندازەیەک بنەڕەت بن و پاشان لەسەر خودی چۆنیەتی کاری ئەو ئامێرەی PHP وەستاوە. ئایا mod_php ـه یاخود suPHP یان FastCGI ــیە؟ وەچۆنیش ڕێکخراوە؟ ئەوانە هەریەکە لەجۆر و شێوەکاردا خراپی و باشی خۆیان هەیە، بەگشتی mod_php ئاشناترە بەخەڵکی سەرەتایی و کەمتر ئاڵۆزە لەوانی تر. زۆر گرنگە خاوەن ڕاژە یان بەڕێوبەری ڕاژەخوازەکە هیچ نەبێت شارەزاییەکی لەبنەماکانی دابەشکردنی دەسەڵات لەیونیکسدا Group and User Permission هەبێت، هەموو وانەکە و خاڵەکان بۆی ڕوونترە تاکەسێک کەبەکارهێنەری سەر سیستەمی تربێت. ئێمە لەم وانەناندا هەوڵ ئەدەین پەنجە بخەینە سەر گرنگترین و دیارتین هەنگاوەکانی پاراستنی PHP.ini و کورتەیەکی لەسەر بنوسین. هەمان کات دەیڵێین و دەیڵێینەوە پاراستن پرۆسەیە نـــــــــەک دۆخ.

یەکێکە لەبڵاوترین پڕۆگرامۆکەکانی پەلاماردان کەبە C99/PHP-Shell ناسراوە

php.ini لەکوێیە؟

ئەمەیان لەڕاژەیەکە و دابەشکرنێکی لینوکسەوە بۆ دابەشکردن و سیستەمێکی تر دەگۆڕێت بۆ نمونە دێبیان و ئوبونتو و سوزە ...هتد بەم شێوەیەن بەبنەڕەت (هەرچەندە هەندێک ڕاژە بەحوکمی کۆدی کراوەی سیستەمی لینوکسەوە Linux modified version بەکاردەبەن) بەڵام بەگشتی ئاوهان:

/etc/php5/apache2/php.ini 
  • ئەگەر وەشاندنی PHP یەکسان بوو بە php5.

یان لەسەر ویندۆز و لەگەڵ ڕاژەخوازی XAMPP دا لێرەیە

C:\xampp\php\php.ini 
  • بۆ ڕاژەکانی تر بەتایبەت دابەشکردنی لینوکس ئەتوانیت
 locate "php.ini" 

بەکاربەریت بۆ دۆزینەوەیان.

گرنگترین هەڵبژاردنەکان چین؟

وەکو باسمان کرد خاڵەکان ئەوەی دیارە و گرنگە پەنجە دەخینە سەری و هۆکار و شیکردنەوەی کورتی بۆ دەنوسین. هەروەها لەهەمووی گرنگتر پاش دەستکاریەکان دەبێت ڕاژەکارەکە Webserver(Apache) دابگیرسێنتەوە تاوەکو گۆڕانکاریەکان جێگیر بن. بۆ نمونە لەڕاژەی لینوکس:

/etc/init.d/apache2 restart

دیارە دەکرێت ئامراز و شێوەی تریش هەبن، بەڵام ئامانجەکە داگیرساندنەوەیەتی. هەمان شت زۆر گرنگە دوای هەموو کارەکان تەماشای پشکنینی ڕاژە ماڵپەڕ و ڕاژەکە بکەیت بزانیت گۆڕانکاریەکان ڕویان داوە!؟

register_globals = Off

رێگە دەگرێت لەوەی لەڕێگەی داواکردنی HTTP و شەکرۆکەوە Cookies گۆڕاوە جێگیرەکان Global Variables دەستکاری بکرێن. هەمان کاتدا وادەکات $_REQUEST دروستر مامەڵەی لەگەڵ بکرێت.

allow_url_fopen = Off

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

safe_mode = On

لەهەرە گرنگترین هەڵبژاردنەکان و پڕترین بابەتی جێگای لێدوانی پاراستنە و تائێستا گەورەترین باسە لە PHP دا، هەربۆیە بەخۆشحاڵیەوە لەوەشاندی PHP6 تەواو دەسڕێتەوە ئەم مشت و مڕە بنبڕ دەکرێت و نامێنێت. چالاککردنی بۆ ئەوەیە چیتر ئامێری PHP تەنها دەسەڵاتی ئەو پەڕگانەی هەبێت کەلەژێر ئەو بەکارهێنەرەدان و نەک ئەوانی تر. بەواتایەکی تر هەژماری www-data لەسەر ڕاژەی لینوکس بۆ نمونە سنوردار دەکات بۆ کوێ دەتوانن بڕۆن و تەماشای چی بتوانن بکەن. هەرچەندە لەخودی چۆنیەتی دامەزراندنی ئامێری PHP دا ئەمە دەگۆڕێت وەکو لەوانەی سەرەوە وەکو suPHP و FastCGI ئاماژەمان پێکرد.

open_basedir = /path/to/www-directory

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

/var/www/webuser/chawg
  • زۆر ڕاژە هەیە نەرمەکاڵای Plesk یان CPanel بەکاردەبەن دەبێت زۆر بەوریاییەوە Vhost بەکارهێنەران ڕێک بخەن، بەتایبەت کاتێک Mod_Rewrite چالاک بێت. دەبێت زۆر وریا بیت لەڕاژەی خاوەن کڕیاردا بۆ هەر بەکارهێنەرێک بچێت بۆ بەشەکەی خۆی نەکەمتر و نەزیاتر!

display_errors = Off

ئەمە ئەو ئەرکە قورستر دەکات، کەپەلاماردەر لەکاتی بوونی هەر هەڵەیکدا هەموو بن و بنەچەی پەڕەکانی ماڵپەڕ و تەنانەت خشتەی SQL و ناوی بنکەی دراوە و ناوی بەکارهێنەر ببینێت. بۆ نمونە:


Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'mysql_user'@'localhost'
 (using password: YES) in W:wwwumdatabase2.php on line 2

Could not connect: Access denied for user 'mysql_user'@'localhost' (using password: YES) 

  • زۆر ماڵپەڕی کوردی تەنها ناوی هاوپۆل یان ژمارەی ID بگۆڕە دەتبات بۆ ئەم پەڕەیە و بەڵگەی تەواو نەشارەزایی دەردەخات!
هەڵەگەری لەکۆدەکان

بەڵام ئەوەمان لەبیرنەچێت ئێمە زۆرجار پێویستمان بەوەیە DEBUG پەڕەکە بکەین، چونکە لەم حاڵەتەدا بەکارهێنەر تەنها پەڕەیەکی سپی دەبینێت و نازانێت لەچیدا هەڵەی کردووە. چارەسەر بۆ ئەم گرفتە ئەوەیە لەو پەڕەیەی بانگی دەکات بەوێبگەڕ و پەڕەیەکی سپییە، ئەم کۆدەی تێئاخنێ لەسەری سەرەوە:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
?>

disable_functions

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

disable_functions = escapeshellarg,escapeshellcmd,exec,passthru,pclose,popen,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,readfile,shell_exec,show_source,symlink,system

log_errors = On

ئەمەیان کاتێک هەڵەی و ئاگاداری هەبوو دەنێردرێت بۆ پەڕگەیەکی دیاریکراو لەسەر ڕاژەکە تاوەکو تەماشا بکرێن و بخوێنرێنەوە، بەڵام لەهەندێک ڕاژەدا ئەمە بەرجەستە نییە وەکو ڕێڕەوێکی تەنها و ئامادەکراو بەڵکو هەڵەکان لە Apache-Log دەخوێنرێنەوە. بۆ نمونە ڕاژەیەکی دێبیان یان ئوبونتو:

/var/log/apache2/error.log

زۆریش گرنگە ڕێگە بدەیت کڕیار یان بەکارهێنەر ئەم لۆگانە ببینێت، ئەمە لەڕێگای ڕێخستنەوە دەبێت بۆ هەریەک لەو بەکارهێنەرانە.

magic_quotes_gpc = On

گرنگی ئەمەیان لەوەدایە خاوەنی سەرەکی ڕاژە یان دەسەڵاتی یەکەم هەموو کارەکان دیاری دەکات چۆن کۆدەکان بنوسرێن لەڕیزبەندا. هەروەها هەموو تاکخاڵ ' جووتخاڵ " و لاره‌هێڵی پێچه‌وانه \ و NULL هەمووی بەخۆکار بە \ بەربەستبکرێت، ئەمەش تائەندازەیەکی زۆر ڕێگە لەپەلاماری SQL-Injection دەگرێت.

دروستکردنی پەڕەیەکی 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 */

ئەوەی لەو نێوانەدا بێت بەسەرنج و مردوو دەژمێرێت ناوخوێندرێتەوە وەکو کۆدێکی نێو مۆدی PHP. وەکو لەم نمونەیەدا دەیبینن:

<?php
echo "Disanewe serinc nusin";
/* ew kodei serewe chalake
hemise ewei dekewete erewe
ne reng ne frmani nabet
hergizish chalak nabet
 cwan diqeti bde ;)*/
echo "Disanewe hatinewe naw codi new MODi PHP.";
?>

یان ڕوونتر وەکو ئەم نمونەیە:

<?php
echo "Disanewe serinc nusin";
/*	ew kodei serewe chalake
	hemise ewei dekewete erewe
	ne reng ne frmani nabet
	hergizish chalak nabet
	cwan diqeti bde ;)
*/
echo "Disanewe hatinewe naw codi new MODi PHP.";
?>

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

<?php
/***********************
 * Darishtni Codekan Lerewe *
 ***********************/
echo "Codekan bang bike";
?>

لێرەدا بۆمان دەردەکەوێت ئەگەر مۆدی PHP کۆتایی هات ?>. ئەوە ئەم کۆتایی نایەت.

سەرنجی لەشێوەی PHPDoc Style

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

<?php
/**
Serinc le shewei PHPDoc Style
*/
echo "Hemisan Codeki tri PHP dubare chalak";
?>

ئێستا پرسیارێک دێتە پێشەوە بۆ دوو جۆرە سەنج نوسین بۆ کۆمەڵەدێڕ، کەبەئەندازەیەکی کەمیش نەبێت جیاوازی نابینرێت؟ لەسەرنجی کۆمەڵەدێڕی PHPDoc Style دا. دەتوانرێت سەرنج بۆ بەشێکی دیاریکراو لەکردارێکی ناو PHP دا ئاماژەی پێبکرێت. هەروەها نەرمەکاڵای تایبەت دەتوانێت ئەو جۆرە سەرنجەی PHPDoc بخوێنێتەوە نیشانی بداتەوە لەشێوەی HTMLدا. ئەمەش تەواو گرنگە لەپڕۆژە گورەکان و فرە نوسەرەکان. باتەماشایەکی ئەم نمونەیە بکەین:

<?php
/**
 * Output a number.
 *
 * The following function outpus the given number.
 *
 * @param i The number to print.
 */
function output_number($i) {
    // ...
}
?>

سەرنج بە#

PHP لەبنەڕەتدا بۆ سەرنج وەکو 'C', 'C++' and Unix shell-style Perl style کاردەکات. بەڵام دەکرێت لەجیاتی سەرنجی تاکدێڕی ئەم شێوەیەش بەکارببرێت #. لەم نمونەیەدا بۆت ڕوون دەبێتەوە چۆنە؟

<?php # echo 'Deqeki Asaiy'; ?>

ناچالاککردن بەسەرنج (مراندن)

بۆ نمونە کۆمەڵێک کۆد و کردار و فرمانمان نوسیوە دەمانەوێت بەبێ ئەوە تاقیان بکەینەوە. کارێکی نادروستە ئەگەر بچین کۆدەکە بسڕینەوە، چونکە دەکرێت ئەوەی دەیسڕینەوە پەیوەندی بەباسەکەوە نەبێت. بۆیە واباشترە ناچالاکی بکەین. ئەگەر دوایی ویستمانەوە چالاکی بکەینەوە.

  • بۆ ڕیزێک دەتوانین سەرنجی تاکدێڕ بەکاربەرین وەکو ئێرە:
<?php
firmani_yekem();
//firmani_dwem(); eme Firmane nachalake
firmani_seiyem();
?>

دەبینین فرمانی دووەم بەسەرنج دەرپەڕێنراوە و ناچالاکە.

  • کۆمەڵە دێڕێک پێکەوە. وەکو ئێرە:
<?php
firmani_yekem();
/*firmani_dwem();
firmani_seiyem();
firmani_chwarem();
firmani_pencem():
firmani_sheshem();*/
firmani_hewtem();
?>

دەتوانیت دیسان فرمانەکان چالاک بکەیتەوە وەکو ئێرە:

<?php
firmani_yekem();
//*
firmani_dwem();
firmani_seiyem();
firmani_chwarem();
firmani_pencem():
firmani_sheshem();
//*/
firmani_hewtem();
?>

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

<?php
firmani_yekem();
/*
firmani_dwem();
firmani_seiyem();
/*
firmani_chwarem();
firmani_pencem():
firmani_sheshem();
*/
firmani_hewtem();
?>

نمونەیەکی تر بۆخۆت:

<?php
do_this();
/*
do_that();
/*
deactivated();
deactivated2();
*/
and_this();
*/
and_that();
?>
  • بۆ زیاتر تێگەشتن هەمان شێوە بڕۆرەوە سەر Comments بۆ بینی نمونە و زانیاری زیاتر.

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

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


جۆری دراوەی(data type)ــی گۆڕاو چین؟

دوو جۆرە جۆری دراوەمان هەیە کەدەمانەوێت وەکو بنکەی سەرەتای فێربوونی پهپ بیزانین.

  • 1. جۆری دراوەی ڕیزبەند String
  • 2.جۆری دراوەی تر کەبریتین لەژمارەکان Integer.

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

boolean, integer, float, double, String, Array, Object, Resource, Null

تێبینی: پهپ زۆر چوست و کارامانە لەگەڵ جۆری دراوەی String,Integer,Float کاردەکات. وەپێوست نەکات بەخۆخەریکردن لەگەڵ چۆنیەتی مامەڵەکردنی لەگەڵ جۆری دراوەدا بەشێوەیەکی خۆکار خۆی دەناسرێتەوە لە پهپ.

ناوی‌ گۆڕاوە ڕێپێدراوەکان کامەنەن؟

دەبێت هەموو کات بزانین وەکو زمانەکانی تری C, JS، دەبێت هەموو کات گۆڕاوەکان بەهێمای دۆلار $ دەستپێبکەن. وە هیچ بۆشایی لەنێوان نەبێت(دەتوانرێت هێڵی خوارەوە _ بەکاربهێنرێت بۆ نێوان دوو وشەی جودا) وە پیتی گەورە و پیتی بچووک هەمیشە ڕەچاو بکرێت. وەدەبێت لەپێناسەدا بۆ نرخێک = بەکارببرێت. بۆ نمونە:

<?php
$var = 'Shteke';
$Var = 'Shteki tre';
$VaR = 'Eme shteki tr';
$_VaR = 'Eme tewaw shteki tre';
$10Var = 'Eme nadruste chunke jimare nabet!';
$yek_gorraw = $dwem_gorraw; // emesh druste u raste
?>

*تێبینی گرنگ: نابێت ناوە پێشوەخت پاشەکەوتکراوەکنی وەکو (if, while, switch) وەکو ناوی گۆڕاو بەکارببرێن.

  • تاوەکو زیاتر لەگۆڕاوەکان تێبگەیت، دەتوانیت سەردانی Variables بکەیت.

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

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

<?php
'Azad'.'Awat'; // encamekei dekate "AzadAwat"
?>

بۆیە گرنگ نییە گرێدانەکە لەنێوان کێو کێدایە. گۆڕاوە یان ڕستەبەندە یان ژمارەیە. تەماشایەکی ئەم نمونانە بکە:

<?php
'Shtek'.'Hich';
'Hich'.$var;
$var1.$var2;
?>

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

<?php
$deq = 'Shtek'.'hich';
echo $gorraw.'Rizbendek';
?>

گرێدان بێسنوورە و زۆر بەرچاو دەکەوێت لەکاتی نوسینی کۆد و فرماندا لەپڕۆگرامۆکەیەکدا.

<?php
$name = $naw.' '.$nawiBawk;
// naw + boshaiyek + nawiBawk
echo 'Min nawim '.$name.', Em katetan bash.';
?>

لەم نمونەیەی سەرەوەدا بۆت دەردەکەوێت گرێدانی دوو گۆڕاو لەنرخی گۆڕاوێکدا چۆنە.

گرێدان و درێژکردنەوە لەگەڵ کۆدی HTML دا

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

<?php
/* 
	min demewet em Bestere pek benim <a href="index.php?section=XYZ">Link</a> 
	leheman katda [XYZ] le gorrawekewe (Variable) werdegret.
*/
$var = 'XYZ';
echo '<a href="index.php?section='.$var.'">Bester</a>';   // bashtrin hellbjardin
echo "<a href=\"index.php?section=\".$var.\">Link</a>";
// emeyan <a href="index.php?section=".XYZ.">Link</a> dedate destewe ke namanewet u narreke!
echo '<a href="index.php?section=".$var.">Link</a>';
// emeyan <a href="index.php?section=".$var.">Link</a> dedate destewe
?>

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

<?php
echo '<a href="index.php?section=XYZ">Link</a>';
//                               ^^^
//                 yekemcar  '..'  le cegay dabne(eme helleye ger betenha bet).
//                                |
//                                V
echo '<a href="index.php?section='..'">Link</a>';
//                                ^^
//              lekotaiyda Gorraw (Variable) teaxne
//                                 |
//                                 V
echo '<a href="index.php?section='.$var.'">Link</a>';
?>

زانیاری زیاتر لەجۆری ئەم گرێدانانە دەتوانن sprintf ببینن.

درێژکردنەوەی گرێدان

درێژکردنەوەی گرێدانەکان (وەکو باسمان کرد گرێدان بێسنوورە). هەموو کات دەتوانرێت بە .= درێژ بکرینەوە بۆ ڕێزی خوارتر. ئەمە لەو کاتانە پێویستە کەڕیزبەندێک کۆدی HTML بۆ چەند دێڕێک درێژ بووبێتەوە. لەم نمونەیەی خوارەوەدا دەیبینن:

<html>
<body>
<?php
   $litr = 14;
   $nrix = 1.35;
   $paredan = $litr * $nrix; 
   $koi1 = "litr";
   $koi2 = 'Dinar';
/*	
	####################################
	##  Temashai gredani be (.=) bike ##
	####################################
*/
   $koiGishti = "Prrkirdini Tanki: " . $litr . " " . $koi1;
   $koiGishti .= " Nirxekei " . $paredan . " " . $koi2 . "<p>";
   echo $koiGishti;
 
   echo "Prrkirdini Tanki: $litr $koi1 Nirxekei $paredan $koi2<p>";
   echo 'Prrkirdini Tanki: $litr $koi1 Nirxekei $paredan $koi2<p>';
?> 
</body>
</html>


دانیشتنەکان (sessions)

بۆ کۆگاکردنی زانیاری دەربارەیی یان گۆڕینی ڕێکخستنەکان بۆ دانیشتی (session) بەکارهێنەرێک ،گۆڕاوەکانی session (خول - دانیشتن) زانیاری دەربارەی تاکە بەکارهێنەرێک لەخۆی دەگرێت ،وە بەردەستە بۆ هەموو پەڕەکان لە یەک نەرمەواڵەدا.

گۆڕاوەکانی دانیشتنی پهپ (PHP Session Variables)

کاتێک تۆ لەگەڵ نەرمەواڵەیەک کاردەکەیت ،دەیکەیتەوە ،هەندێ گۆڕانکاری دەکەیت و دواتر دایدەخەیت .ئەوە زۆرتر وەکو دانیشتنێک (session) وایە ،کۆمپیوتەرەکە دەزانێت تۆ کێی ،وە دەزانت لەکوێ دەستتکردووە بە نەرمەواڵەکە و لەکوێ کۆتاییت پێهێناوە ،بەڵام لەسەر ئینتەرنێت کێشەیەک هەیە: ڕاژەکاری وێب نازانێت تۆ کێی و چی دەکەی چونکە ناونیشانی ‌HTTP ناوچەیی ناناسێ/لەخۆناگرێت. دانیشتنێکی PHP ئەو کێشەیە چارەسەر دەکات بە ڕێگادان پێت بۆ کۆگاکردنی زانیاری بەکارهێنەر لەسەر ڕاژە بۆ بەکارهێنانی دواتر (بۆ نموونە: ناوی بەکارهێنەر ،کاڵا و شتمەکەکانی بازاڕکردن...هتد) هەرچۆنێکە زانیاری دانیشتن کاتییە و لەدوای ئەوەی بەکارهێنەر وێبگەی جێهێشت دەسڕدرێتەوە. ئەگەر تۆ کۆگایەکی هەمیشەییت پێویستە ،دەتوانیت داتاکان کۆگابکەی لە بنکەدراوەیەک. دانیشتنەکان کاردەکەن بەهۆی ناونیشانی شاز/تاک (unique id "UID) بۆ هەر سەردانکەرێک لەگەڵ کۆگاکردنی گۆڕاوەکان بنچینەکراو لەسەر ئەو ناونیشانە (UID) .


دەستپێکردنی دانیشتنێکی PHP

پێش ئەوەی بتوانی زانیاری بەکارهێنەر کۆگابکەیت لە دانیشتنی PHP ،پێویستە سەرەتا دەستبکەیت بە دانیشتنەکە.

Note= تێبینی گرنگ: نەخشەی ()session_start پێویستە دەربکەوێت لەپێش تاگی <html>.
<?php session_start(); ?>

<html>
<body>

</body>
</html>

ئەو کۆدەی سەرەوە دانیشتنی بەکارهێنەر تۆماردەکات لەگەڵ ڕاژەکە ،ڕێگاتدەدات بۆ دەستکردن بە پاشەکەوتکردنی زانیاری بەکارهێنەر و پێکهێنانی ناونیشانێکی شاز/تاک (UID) بۆ ئەو دانیشتنەی بەکارهێنەرە.


کۆگاکردنی گۆڕاوێکی دانیشتن

ڕێگا ڕاستەکە بۆ کۆگاکردن و هێنانەوەی گۆڕاوەکانی دانیشتن بریتییە لەوەی گۆڕاوی PHP $_SESSION بۆ بارببەیت:

<?php
<?php
session_start();
// store session data
$_SESSION['views']=1;
?>

<html>
<body>

<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>

</body>
</html>

دەرچوو:

<?php
Pageviews=1

لە نموونەکەی خوارەوە ،ژمێریارییەکی سادەی نیشاندان-پەڕەمان دروستدەکەین ،نەخشەی isset() گۆڕاوەکانی "views" دەپشکنێ بۆ دڵنیابوون لە دانانیان ،ئێمە دەتوانین ژمێریاری خۆمان بەکاربەرین ئەگەر "views" بوونی نەبوو ،گۆڕاوێکی "views" دروستدەکەین و بۆ 1 دایدەنێین:

<?php
<?php
session_start();

if(isset($_SESSION['views']))
$_SESSION['views']=$_SESSION['views']+1;
else
$_SESSION['views']=1;
echo "Views=". $_SESSION['views'];
?>

ڕووخاندنی دانیشتنێک

ئەگەر وا دەخوازیت هەندێ داتای دانیشتن بسڕیتەوە ،دەتوانی نەخشەی ()unset یان ()session_destroy بەکاربەریت. نەخشەی ()unset بەکاردێت بۆ ئازادکردنی گۆڕاوی دانیشتنێکی دیاریکراو:

<?php
<?php
unset($_SESSION['views']);
?>

هەروەها دەتوانیت بەتەواوی دانیشتنەکە بڕووخێنیت بە بانگکردنی نەخشەی ()session_destroy

<?php
<?php
session_destroy();
?>

لەیادتبێ بە بەکارهێنانی نەخشەی ()session_destroy دانیشتنەکەت لە بنەڕەتەوە دادەنێتەوە و هەموو داتا کۆگاکراوەکانی دانیشتنەکەت لەدەست دەدەیت.

ژمارەکان [Numbers]

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

<?php
echo "5"+"9";
?>

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

ژمارەی تەواو Integer

ژمارە تەواوەکان بریتین لەهەموو ژمارەکان بەڕووتی بەبێ داشکاندن و بڕگەکردن تییایدا. وەکو ژمارەکانی 4, 19, 72, 143 هەروەها ژمارە نێگاتیڤەکان وەکو -4, -19, -72, -143. لە PHP دا ژمارەکان لەناو کۆدەکان دەنوسرێن و ئامێری PHP بەخۆکار پێناسەیان دەکات. وەکو ئێرە:

<?php
$var = 5;
$var2 = 31;
$var3 = -10; //weku wtman emesh druste
?>

بەهەمان شێوە دەتوانرێت ژمارەکان لەشێوی hexadecimal & octal notation بەکار ببرێن. ئەگەر ئەنجامەکەیانی لەبیردا بێت. بۆ hexadecimal پریفێکسی 0x بەکاردەبرێت و بۆ octal notation پریفێکسی 0 بەکاردەبرێت. لەم نمونەیەدا دەیبینن:

<?php
$var = 0xFF; // hexadecimal (255), often use for protocols
$var2 = 0763; // octal (499), often used for chmod
$var3 = 0; // normal zero, it doesn't matter if hex-, oct- or decimal
?>

ژمارەی کەرت Float

هەر بەناوەکەیدا دەردەکەوێت کەدەربڕینە بۆچی جۆرە ژمارەیەک. هەموو ئەو ژمارانەی کەتەواو نین و بڕن وەک 5.7, 12.25, -4.07 لەهەمان کاتدا 10.0, 3.1E-10, 4.5e3 دەگرێتەوە.

<?php
$var = 5.7;
$var2 = 3.1E-10;
$var = .1;
?>

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

<?php
echo 'Brri Qazanc:'.77.3.'%'; // na Druste
echo 'Brri Qazanc:'.(77.3).'%'; // Druste
echo 'Brri Qazanc:'. 77.3 .'%'; // Druste, leber ewei boshaiyek peshi heye u yarmeti dedat
?>

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

بۆ ئەوەی بەساکاری ئەنجامە بیرکاریەکانی ژمارەکانمان دەست بکەوێت، ئەوە لەوەشاندنی PHP6 ــوە هەیە. کەبریتین لە +, -, *, / هەروەها لەجیاتی / ئەمە : بەکاردەبرێت. هەرچەندە لەهەموو زمانەکانی تری پڕۆگرامسازیدا / بەکاردەبرێت بۆ دابەشکردن. هەروەکو لەبنەماکانی بیرکاری بنەڕەتیدا فێربووین کە - بۆ ژمارە سالیبەکانە و % ڕێژەی مانەوەی ئەنجامی دابەشکردنێک دەدات. باتەماشایەکی ئەم نمونانەی خوارەوە بکەین و یەک تۆز بگەڕێینەوە بۆ بنەڕەت:

<?php
$a = 10;
$b = 6;
echo $a-$b;   // 4
echo $a+$b;   // 16
echo $a*$b;   // 60
echo $a/$b;   // jimarei kerti float(1.66666666667)
echo -$a;     // -10, heman shite legell encami echo 0-$a; 
echo $a%$b;   // 4 (6 yekcar cegai debetewe lr 10, brre mawekesh 4)
?>

بۆ زیاتر ئەنجمادانی کردە بیرکاریەکانمان، ئەوە هەندێک کردار و ڕێکخستنی چڕتر هەیە کەدەتوانن Math Functions بیبینن.

گرنگی کردە بیرکاریەکان

وەکو لەژیانی ڕۆژانەماندا زۆر باوە کرداری لێکدان و دابەشکردان زۆرتر بەکار دەبرێن لەکۆکردنەوە و لێدەرکردن و ڕێژە. بۆیە هەمان شت لەزمانی PHP یش وایە. بانمونەیەک لەگرنگیدانیان ببینین:

<html>
<body>

<?php
   $litr1 = 16;
   $litr2 = 23;
   $litr3 = 34;
   $nrix = 1.35;
   $KoiGishti= ($litr1 + $litr2 + $litr3) * $nrix;
   echo $KoiGishti;
?>

</body>
</html>

ئەگەر تەماشا بکەین ئێمە کرادری کۆکردنەوەکانمان خستۆتە ناو کەوانەوە، تاوەکو ئەنجامەکەیان کەڕەتی نرخەکە بکات. لێرەدا کەوانەکە بۆ ئەوەیە ئەنجامی ناوەندەکەی بەیەک جار دەرپەڕێنێت. چونکە ئەگەر ئەوە نەبێت یەکەم جار لێکدانی $litr3 دەکات لەگەڵ نرخدا و دوای لەگەڵ ئەوانی تر کۆی دەکاتەوە. ئەمەش نادروستە.

pow

ئەم جۆرە کردەیە خاوەنی گرنگیەکی تایبەتە. کەئەنجامی ڕێژەیی لێدانی x up y دەکات. ئەوانەی نوێن لەم زمانەدا، دەچن ^ بەکاردەبەن. وەکو لەم نمونەیەدا دەیبینین:

<?php
$basis = 5;
$exponent = 7;
echo $basis^$exponent;        // encamekei 2 e, emesh nadruste.
echo pow($basis, $exponent);  // encamekei dekate 78125.
?>

ئەگەر تەماشای ئەنجامەکان بکەین، بۆمان ددەردەکەوێت pow کام ئەنجامی دروست دەدات.


پێکهاتەکۆنتڕۆڵ [Control structures]

جۆرە داتای boolean

لەزمانی PHP دا یەک جۆرە داتا هەیە، کەتەنها یەک bit جێگەی دەوێت بۆ پاشەکەوتکردن. وەکو دەزانین لەتەنها یەک bit دا دەتوانرێت تەنها لەبوخچەیەکدا نرخی 0 و 1 پێناسە بکرێن و بخوێنرێتەوە. لەزمانی پڕۆگرامسازیدا وەکو دەزانین true بۆ نرخی 1 دانراوە و false بۆ نرخی 0. ئەم جۆرە داتایە زیاتر بەکاردەبرێن بۆ ساغکردنەوەی وەڵامی شتێک ئایا دروستە یان نادروستە وە ئایا ڕاستە یان هەڵەیە و سنوور دانانە بۆ مەرجێک. لەزمانی PHP دا ئەم جۆرە نرخە boolean ناسراوە و دیاری کراوە، لەبەکاربردنیاندا گەورە و بچوک نوسین case-insensitive هیچ ڕۆڵێکی نییە. باتەماشەیەکی ئەم نمونەیە بکەین:

<?php
$var = true;
$var2 = false;
$var3 = TRUE;
$var4 = FaLsE;

$var5 = 'true'; // eme rizbendeki 4 ye 'true', nrxi boolani true niye!!
?>

لە لەزمانی PHP بۆ ڕێکخستنی پێکهاتەکۆنتڕۆڵ بەکاردێت، ئایا ئەو سکریپتە چالاک بێت یان نەخێر. ئایا نیشانی بدات یان نەخێر.

پێکهاتەکۆنتڕۆڵ

گرنگی پێکهاتەکۆنترۆڵ لەزمانی PHP دا، بووە بەدیمەنێکی جێگیری نێو نوسینی سکریپتەکان. هەموو کات بڕیار دەدات ئەم کردەیە بکرێت یان نەکرێت و ناچالاک بێت. وە تەواو پڕاوپڕە بۆ جێبەجێکردنی ڕستەیەکی if ئەگەری لەنێوان بەڵێ و نەخێردا.

<?php
if (destewaje) xemllandin
?>

لێرەدا دەستەواژەکە دەنێردرێت بۆ خەمڵاندنێک یان هەڵبژاردنێک. ئەگەر دروست بوو؟ ئەوە دەینێرێت و لەنرخێکی true پاشەکەوتی دەکات، ئەگەر نا؟ ئەوە بەپێچەوانەوە کارەکانی دواتر نەکات false. دەبێت ئاگاداری ئەوەبیت کۆمەڵێک دەستەواژە یان ڕستەی جێبەجێکردن لەنێوان دوو کەوانەی لەم شێوەیە { } ڕێک دەخرێت.

<?php
if (destewaje) {  // lerewe riste egereke bo kiradar u xemllanndinekan.
    xemllandin_1;  
    xemllandin_2;
    // emesh bo kiradreki trian.
    xemllandin_n;
}
?>

دەتوانێت لەمانە زیاتر لەخۆی بگرێت بۆ ئاراستەکردنی ئەگەرەکان. کەزۆر کات بۆ گرێدانیان ئەمانە and, or  !, xor بەکار دەهێنرێت.

ئەلتەرنتایڤ و ئەنجامدانی

ڕەنگە لەزمانی PHPدا ئەوە بەس نەبێت بەتەنها یەک ئەنجام و یەک مەبەسەت ڕاڤە بکرێت لەڕێگای ifــەوە بەتەنها. ئەلتەرناتیڤکردن بۆ بەرامبەرەکە زۆر گرنگە. بۆ نمونە ئەگەر ئەنجامی چوونەژوورەوەکەی دروست بوو؟

  • ئەوە پەڕەی بەڕێوەبەرایەتی نیشان بدە.

ئەگەر نە؟

  • ئەوە بیبەرەوە پەڕەی چوونەژوورەوە یان خشتەکەی نیشان بدە.

ئەمەش بە else دەکرێت کەئەلتەرنتایڤ هەڵبژاردنە بۆ if.

<?php
if (login_druste) {
    // perrei berrewberi nishan bide
} else {
    // xishtei chunejurewei nishan bide
}
?>

لەهەمان کاتدا دەتوانرێت بەنەخێرکردنی ڕستەی if هەمان کار بکرێت. وەکو لەم نمونەیە دەیبینن:

<?php
if (login_druste) {
    // Berrewberi nishan bide.
}
if (!login_druste)
    // Xishtei chunejuerewe nishan bide (!)
}
?>

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

<?php
if (gredan) {
    // eme encam bide
} elseif (gredaneki_tir) {
    // eme encam bide
} else {
    // dwahemin hellbjardin eme bike.
}
?>

ئەم elseif کاتێک بەکاردەخرێت، ئەگەر ڕستەی پێش خۆی if ئەنجامی false بوو. بۆیە لەم کاتەدا کۆمەڵێک elseif پێکەوە گرێ بدرێن.

<?php
if (gredan) {
    // eme encam bide.
} elseif (gredani_tir) {
    // eme encam bide.
} elseif (eme_gredaneki_tirish) {
    // emesh encam bide.
} elseif (xemllandin) {
    // PHP code!
} else {
    // le dwaheminda eme encam bide!
}
?>

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

<?php

	$astiDercun = 50;    // asti derchun  50 %.
	$nCutiyar = 35;     // numrei Cutiyar.
	$nAmanc = 88;	   // numrei Amanc.
	
/* ########### ^^ Gorrawekan(Variable) Pashekewt kiran ########### */

if ($nCutiyar > $astiDercun) { // eger Cutiyar numrei zortr bu le 50%.
	echo "Piroze,Cutiyar";
}
elseif ($nAmanc > $astiDercun) {
	echo"le tosh Piroze, Amanc"; // eger Amanc numrei zortr bu le 50%.
}
elseif ($nCutiyar < $astiDercun && $nAmanc < $astiDercun){ //eger Amanc u Cutiyar numreyan kemtrbu le 50%.
	echo"hiciyan Dernecun, bedaxewe";
} 
else {
	echo"Cutiyar u Amanc hergiz Xwendkar nebun!. pem waye Kutallfroshin"; //eme tenha nmuneye :)
}
?>

هەڵەگەری لە IF دا

هەرچەندە if () لەکردارێک دەچێت، بەڵام لەڕاستیدا وانییە. هەمیشە دەتنێرێت بۆ بڕگە یان بەشی دوای خۆی. لەم نمونەیە جوان وردبەرەوە:

<?php
if (false); // <-- temashai bike ;
    echo 'Foobar';
?>

هەرچەندە ئەگەرەکە FALSE بەڵام ئەو هەر echo دوای خۆی دەهێنێت. ئەگەر بەوردی تەماشا بکەین بزانین IF بۆ چی ئەگەر دەکات و دەیخاتە نێوان ئەگەربوونەوە. دەبینین ; دوای خۆی وەکو گریمان چاو لێ دەکات. باتۆزێک کۆدەکەی سەرەوە ڕوونتر بکەینەوە.

<?php
if (false)
    ;	// <-- temashai bike ; dubare
echo 'Foobar';
?>

کردەهێمای بەراورد [Compare operators]

کردەهێمای بەراوردی==

بۆئەوەی یەکسانیی دوو نرخ بکات == بەکاردەبرێت. کەئەرکی ئەوەیە لەهەردوولا نرخەکان بخەمڵێنێت بەرامبەر بەیەک. ئەمە دەکرێت لەنێوان دوو گۆڕاودا بێت یان لەنێوان نرخی دوو نرخی ڕاستەوخۆ. لە PHP ئەنجامەکەی لە جۆرە داتای boolan دەردەپەڕێنێت یان false یاخود true دەبێت. لەم نمونەیەدا هەوڵ بدە سەرنجەکان بخوێنەوە بەدروستی:

<?php
"sia" == "siyamend";          // encami bool(false), encamish pashekewt nakret.
$check = "sia" == $var;      // eme encamekei depishknet aya FALSE yan TRUE pashekewti dekat le $check
var_dump('sia' == 'amanc'); // encamekei bool(false)
?>
  • تێبینی زۆر گرنگ: = بەراورد نییە، بەڵکو ئاماژەیە. بەڵام == بەراوردی یەکسانبوونە.

بەراوردی تر

لەپاڵ == بەراوردی تر هەن. کەزۆر گرنگە بەدروستی و بەڕێکی مانا و ئامانج و چۆنیەتیان بزانین(هەرچەندە لەبیرکاریدا دەگەڕێتەوە بۆ خوێندنگەی بنەڕەتی و سەرەتایی). ئەم بەراوردانەش لەمانە پێکهاتوون <, <=, > ، >= لەم نمونەیەدا تەماشایان بکە:

<?php
$var = 5 < 7;       // druste
$var = 10 <= 10;   // druste
$var = 9 > 9;     // na Druste!
?>

هەروەها != بۆ پشکنینی، کەئایا دوو نرخ یەکسانن یان نا.

<?php
$var = 10 != 10;   // nadruste
$var = 0 != 1;    // druste
?>

هەنگاوێک زیاتر بڕۆین دەبین دوو شێوەی تری بەراوردمان دێتەپێشێ. ئەوەیش درێژکراوەی == بە === هەروەها != بە !==. کەلەپاڵ بەراوردکردنی نرخدا جۆریش بەراورد دەکرێت. بەواتایەکی تر ڕیزبەند String و ژمارەی تەواویش Integer بەراورد دەکرێن بۆنمونە:

<?php
$var = 5 == "5";  // druste
$var = 5 === "5"; // naDruste, chunke rizbend != jimarei tewa (integer)
$var = 'Max' == "Max";  // duste, hercende cutxall u taxalle rizbendekan
$var = 'Max' === "Max"; // eme Druste, chunke herdu naw rizbendeke yeksane.
?>

ئەم زانیاریانە لەکاتی کردەکانیشدا زۆر پێویستە. بۆ گەڕاندنەوەی ئەنجامێکی دروستی boolan کەهەڵەبێت false بەبەکارهێنانی == بۆ ژمارەیەکی تەواوی 0 کەهەمان ئاماژەیە وەکو false، بەڵام لە === ئەمە جودایەوەکو لەم نمونەیە ڕوونکراوەتەوە:

<?php
$var = false == 10; // false, çûnke nrxî Boolan false nakate 10!
$var = false ==  0; // true, herçende yekem boolane u dwem jimareî tewaw 
		    /* ### lewanekani pêşû basman kird FALSE‏ dekate 0 u TRUE dekate 1 ## */
$var = false === 10; // flase, heman hokari serewe
$var = false ===  0; // false, çûnke rîzbend nakate boolan
?>
  • چەند جارێک بەم وانانەی پێشوی بچۆرەوە، ئەگەر لەدواهەمین نمونە ئاڵۆزیت تووش بوو.

یەکسانبوون و کردەهێمای بەراورد

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

<?php
$check = $name == 'Amanc'; //le nrxi $name le rizbendi 'Amanc' depşknêt u paşekewtî dekat( Hawtabûn )
                         
$check = $name = 'Amanc';  // Paşekewtî nrxi $name dekat le rizbendi 'Amanc' da.
?>

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

<?php
"Amanc" == $name;
?>

لێرەدا تەواو ڕوونکراوەتەوە کەمەبەست لەڕیزبەندی Amanc تەنها بەراوردە لەگەڵ $name وە یەکسانبوون نییە. بەم شێوەش ئەو دوودڵیە بەربەست دەکەیت. وەلەئەگەری بەرامبەردا کەیەکسانبوونە هیچ بوونی نییە و ناشبێت، چونکە ناکرێت ڕیزبەندێک یەکسانبوونی نرخێکی گۆڕاوێک بێت و هەڵەیە.

<?php
$check = "Amanc" == $name; // eîpşknêt le $check [true/false] paşekewtî dekat
$check = $name = "Amanc";  // eme serçaweî hellek niye!!
$check = "Amanc" = $name;  // Yeksanbûn le rizbendêkda nakrêt HELLEYE!!
?>

گرێدانی لۆجیکی [Logical Combinations]

گرێدانی لۆجیکی مەبەست زۆرتر لەگرێدانی مەرجە جیاوەزاکانە لەپرؤگرامۆکەیەکدا. بۆ نمونە گرێدانی دوونرخ و برگەی پێشتر لەجۆرە داتایەکی Boolean دا و لەئەنجامی ئەواندا ئەنجامێک یان داخوازیەکی نوێ دەرپەڕێنیت. لەبواری تێوێریدا بۆ دوو نرخی گۆڕاو 16 جۆرە کردار هەیە کەبۆ true یان false دەگەێڕدرێنەوە و وابەستەن. لەکاری ڕۆژانەماندا تەنها 7 لەو کردار\گرێدانە دەکرێن و ئەمانیس دەگەڕێنەوە بۆ 3 دانەی سەرەکی و 4ی نیمچە هاوپێچ. زمانی PHP تەنها چوار لەوجۆرە گرێدان\کردارانە بەکاردەبات وەکو بنەچە. هەرچی ئەوانەی ترە بەدەستکرد لێرە و لەوی بەکاردەبرێن.

گرێدان بە AND ـەوە

ئەم جۆرە گرێدانە لەهەمویان لۆجیکی ترە، کاتێک نرخێک ئەنجامی true دەدات ئەگەر هەڵبژاردنەکان true بوون. بۆ نمونە ئارا کاتێک دیاری من وەردەگرێت، ئەگەر لەتاقیکردنەوەی کۆتایی ساڵ سەرکەوتوو بوو هەروەها دڵی جوانێک بپێکێت. ئەگەر لەو دوو مەرجە یەکێکیان نەبوو هەمان شت دیاریەکەی منیش فت :). ئێستا بائەم نمونەیە بکەین بەکۆدێکی ڕوونتر:

<?php
$var = false and false;  // encami dekate false
$var = false and true;   // encami dekate false
$var = true  and false;  // encami dekate false
$var = true  and true;   // encami dekate true
$diyari = $derchun_leexmun and $pekani_cwanek;
?>


Argument 1 (A) Argument 2 (B) Result (Q)
0 0 0
0 1 0
1 0 0
1 1 1

لەهەمان کاتدا & هەرهەمان مانایە.

گرێدان بە ORــەوە

لەم شێوە گرێدانەوە وەکو لایەنی زمانەوانی کەبەمانای یاخود یان ی کوردی دێت. بۆ نمونە ئارا دەتوانێت لەگەڵ جوانەکەدا ئاشتبێتەوە، ئەگەر دەستەگوڵێکی بۆ بنێرێت بەدیاری یاخود بەدەمی داوای لێبوردنی لێبکات. بەواتایەکی تر لایەنی بەرامبەر بەیەکێک لەو دوو ئەگەرە ڕازیە. ئەگەر هەرکامیان بێت ئامادەیە وەکو جاران ببێتەوە لەگەڵ ئارادا. ئەگەر ئارا هەردووکیان بکات ئەوا هەمان شت. لێرەدا مانای یاخود OR بۆدەردەکەوێت کەبەشێوەیەک لەشێوەکان لەگەڵ AND دا هاوتەریب نییە.

<?php
$var = false or false; // encami dekate false
$var = false or true;  // encami dekate true
$var = true  or false; // encami dekate true
$var = true  or true;  // encami dekate true

$Ashtbunewe = $chepke_gull or $qsekirdin_pekewe;
?>

وەکو لیستەکەی سەرەوە دەتوانین ئەم تێڕوانینە بخەینە خشتەکەوە ئەمجارە:


Argument 1 (A) Argument 2 (B) Result (Q)
0 0 0
0 1 1
1 0 1
1 1 1

گرێدان بە NOTــەوە

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

<?php
$wishe = !$jimare;
?>
  • لێرەدا مەبەستمان ئەوەیە کە وشە یەکسان نییە یان بریتی نییە لەژمارە.

بانمونەیەکی پێشکەوتوو تر تەماشا بکەین:

<?php
$var = $x != $y;    // legell !=
$var = !($x == $y); // legell !(==) gringe kewaneke.
?>
  • لێرەدا نرخەکان بۆ سێیەم دەرەنجام ناگەڕێنەوە.
Argument 1 (A) Result (Q)
0 1
1 0

گرێدان بە NAND

لەپاڵ ئەو سێ شێوازی گرێدانەدا، شێوەگرێدانی NAND هەیە کەگرێدانێکی وردترە یان پێشکەوتوو ترە. کەلەهەردووک شێوەگرێدانی NOT و AND پێکهاتووە . لەزمانی PHP دا دەتوانرێت لەپاڵیاندا ئەم شێوە گرێدانەش بەکار ببرێت. باتەماشایەکی ئەم نمونەیەوە خوارەوە بکەین:

<?php
$check = !($var1 and $var);    // AND -> NOT = NAND 
$check = !$var1 and $var;      /* Lêreda NAND niye, yekemcar  $var1 berperç dedrêtewe paşan bo AND derrwat */
?>

لێرەدا بۆمان دەردەکەوێت ئەرکی بەپەرچدانەوەی ڕاستیەکە کەلەشێوەگرێدانی AND بۆمان ڕوونبۆتەوە، بۆیە زیاتر ڕوونکردنەوەی ئەم کرداری گرێدان و پاشان بەرپەرچدانەوەی گرێدانێک لەگرێدانێکدا لەم خشتەیەوە زیاتر ڕوونتر دەبێتەوە:


Argument 1 (A) Argument 2 (B) Result (Q)
0 0 1
0 1 1
1 0 1
1 1 0

ئەگەر سەرنجی یەکەم بڕگە و کۆتاییەمین بڕگە بدەیت، بۆ دەردەکەوێت کەکرۆکی ئەم بەپەرچدانەوەی گرێدانە چۆن لەکردارێکی وادا دەردەکەوێت.

گرێدان بە NOR

لێرەدا نزیکەیی هەمان پێناسەی سەرەوەیە واتا شێوگرێدانی پێشکەوتووە لە شێوەگرێدانی OR و NOT دا و بەم شێوەیەش ئەمجارە هەمان بەستن لێکتێگەشتن نییە، بەڵکو وەگەڕخەری PHP وەکو ناسین بەتەنها نایناسێت بەڵکو ئەنجامی بەشێوەگرێدانی OR و بەرپەرچدانەوەیەتی بە ! کەلەم نمونەیەی خوارەوەدا دەیبینین:

<?php
$check = !($var1 or $var);    // OR -> NOT = NOR
$check = !$var1 or $var;      /* Lêreda NOR niye, çûnke yekemcar berprçî $var1 dedrêtewe, paşan denêrdrêt bo OR u $var */
?>

ئێستا باتەماشا بکەین بەشێوەیەکی لۆجیکی و بیخەینە خشتەوە وەکو نمونەکانی سەرەوە:


Argument 1 (A) Argument 2 (B) Result (Q)
0 0 1
0 1 0
1 0 0
1 1 0

گرێدان بە XOR

شێوەیەکی تری گرێدانی پێشکەوتووە کەرسەرچاوەی لە OR گرتووە بەڵام لەمەیاندا تەنها یەک TRUE قبووڵ دەکات. بەواتایەکی تر ئەگەر هەردوو نرخەکە TRUE بوون ئەنجامەکەی FALSE دەردەپەڕێنێت. تەماشایەکی ئەم نمونەیە بکە:

<?php
$check = ($var1 and !$var2) or (!$var1 and $var2);
?>

لەبەرئەوەی کەس لەزمانی PHP لەم شێوە گرێدانە تێکەڵی یەکتری ناکات، بۆیە شێوەگرێدانی XOR مان هەیە و X بەمانای exclusive دێت.

<?php
$check = false xor false;  // false
$check = true  xor false;  // true
$check = false xor true;   // true
$check = true  xor true;   // false

$regezi_drust= $ya_nere xor $ya_meye;
?>

گرێدان بە XNOR

وەکو پێناسەیەکی دروست و ڕوون دەتوانین بڵێین کە XNOR بریتییە لەڕەتکردنەوەی یان (بەنەخێرکردنی) گرێدانی XOR ــە کەپێشتر ئاماژەمان پێداوە. بۆئەوەی لەلۆجیکی گرێدانەکە تێبگەین دەیخەینە نێو خشتەوە وەکو ئێرە:

Argument 1 (A) Argument 2 (B) Result (Q)
0 0 1
0 1 0
1 0 0
1 1 1

ئەمەش نمونەیەک بەکۆدی PHP

<?php
$check = true  and $var; /* is the same as: */ $check = $var;  // the true is useless
$check = false and $var; /* is the same as: */ $check = false; // it is always false
$check = true  or  $var; /* is the same as: */ $check = true;  // it is always true
$check = false or  $var; /* is the same as: */ $check = $var;  // the false is useless
?>

ئەگەر جوان و بەوردی تەماشایەکی هۆکار و ڕەتکردنەوەکان بکەین دەبینن لەدووجار ڕەتکردنەوە یان نەخێرکردن دێت. وەکو ئەم نمونەیە:

<?php
$check = !(!$check); // like 'minus times minus'
?>

لێرەدا زۆر گرنگە یاساکانی دیمۆرگان تێبگەین لەکاتی بەستنەوە بە AND و OR. بانمونەیەک تەماشا بکەین:

<?php
$check = !$var1 and !$var2;
$check = !($var1 or $var2); // Her heman şite

$check = !($var1 and $var2);
$check = !$var1 or !$var2;  // Her heman şite
?>

Switch statements

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

ئەگەر لەخوێندنی ئەمساڵ دەرچوویت!
پاسکیلت بۆ دەکڕین.... 
ئەگەرنا. هیچت بۆ ناکڕین...

ئەمە وەکو ڕووکەش و تێگەشتنێکی بنەڕەتی لەم کردارە لە PHP دا. ئەگەر بگڕێینەوە بۆ پێشتر باسی if-elseــمان کردووە. کەلەتایبەتمەندی و توانای کاردا جودان بەڵام هاوکارن. لە switch جیاوازی ئەوەیە ڕاستەخۆ بۆ هەموو ئەگەرێکی نەبوون و بوون case:، فرمانێک بانگ دەکەیت بۆ کارکردن. یان دروسترە بڵێین کارێک دەکەین بەفرمانێک کەتەنها تایبەتە بەو لەکۆتایی بڕگەکەدا break;. لەنەبوونی هیچیاندا default: بەکار دەبرێت. تەماشای ئەم نمونەیە بکە بەوردی:

<?php
$var = 4;
switch ($var) {
case 0:
    echo "mn hîç kara nabm ";
    break;
case 4:
    echo "mn cyawazm we çalakm (:";
    break;
case 90:
    echo "mnîş hîç rollêkm nîye u naçalakm";
    break; // kotayîhênan beegereke
default:
    echo "hîç lewaney serewe nebûn";
    break;
}
?>

if-else Statement

ڕەنگە لەزمانی PHPدا ئەوە بەس نەبێت بەتەنها یەک ئەنجام و یەک مەبەسەت ڕاڤە بکرێت لەڕێگای ifــەوە بەتەنها. ئەلتەرناتیڤکردن بۆ بەرامبەرەکە زۆر گرنگە. بۆ نمونە ئەگەر ئەنجامی چوونەژوورەوەکەی دروست بوو؟

  • ئەوە پەڕەی بەڕێوەبەرایەتی نیشان بدە.

ئەگەر نە؟

  • ئەوە بیبەرەوە پەڕەی چوونەژوورەوە یان خشتەکەی نیشان بدە.

ئەمەش بە else دەکرێت کەئەلتەرنتایڤ هەڵبژاردنە بۆ if.

<?php
if (login_druste) {
    // perrei berrewberi nishan bide
} else {
    // xishtei chunejurewei nishan bide
}
?>

لەهەمان کاتدا دەتوانرێت بەنەخێرکردنی ڕستەی if هەمان کار بکرێت. وەکو لەم نمونەیە دەیبینن:

<?php
if (login_druste) {
    // Berrewberi nishan bide.
}
if (!login_druste)
    // Xishtei chunejuerewe nishan bide (!)
}
?>

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

elseif

بۆ پەرەپێدان و هەڵبژاردن و درێژکردنەوەی ڕستەی ئەگەری و جیاکردنەوەی ئەلتەرناتیڤەکان elseif بەکار دەبرێت. کەدەکەوێت نێوان خشتەی if و خشتەی else ــەوە.

<?php
if (gredan) {
    // eme encam bide
} elseif (gredaneki_tir) {
    // eme encam bide
} else {
    // dwahemin hellbjardin eme bike.
}
?>

ئەم elseif کاتێک بەکاردەخرێت، ئەگەر ڕستەی پێش خۆی if ئەنجامی false بوو. بۆیە لەم کاتەدا کۆمەڵێک elseif پێکەوە گرێ بدرێن.

<?php
if (gredan) {
    // eme encam bide.
} elseif (gredani_tir) {
    // eme encam bide.
} elseif (eme_gredaneki_tirish) {
    // emesh encam bide.
} elseif (xemllandin) {
    // PHP code!
} else {
    // le dwaheminda eme encam bide!
}
?>

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

<?php

	$astiDercun = 50;    // asti derchun  50 %.
	$nCutiyar = 35;     // numrei Cutiyar.
	$nAmanc = 88;	   // numrei Amanc.
	
/* ########### ^^ Gorrawekan(Variable) Pashekewt kiran ########### */

if ($nCutiyar > $astiDercun) { // eger Cutiyar numrei zortr bu le 50%.
	echo "Piroze,Cutiyar";
}
elseif ($nAmanc > $astiDercun) {
	echo"le tosh Piroze, Amanc"; // eger Amanc numrei zortr bu le 50%.
}
elseif ($nCutiyar < $astiDercun && $nAmanc < $astiDercun){ //eger Amanc u Cutiyar numreyan kemtrbu le 50%.
	echo"hiciyan Dernecun, bedaxewe";
} 
else {
	echo"Cutiyar u Amanc hergiz Xwendkar nebun!. pem waye Kutallfroshin"; //eme tenha nmuneye :)
}
?>

Statement in HTML

ئەوانەی ئاشنان بەهەندێک پرۆگرامۆکەی بەڕێوەبردن وەکو Drupal یان Wordpress ئاشنان بەم جۆرە ڕستە ئەگەریانە لەنێو HTML دا. بانمونەیەکی گشتی و ئاسان وەربگرین بۆ تێگەشتن لەکرۆکی کردارەکە. کەزیاتر if-else ـــه بەڵام لەڕواڵەتێکی تردا.

<html>
<body>

<?php
$nrx = 1.12;
if ($nrx < 1):
?>

Nrxeke le 1 dinar kemtre<br />
berasti Herzaniye :-D

<?php else: ?>

Nrxeke zortire le 1 dinar<br />
em graniye chiye ei Hawar :( 

<?php endif; ?>

</body>
</html>

کورتەکردنەوە [Abbreviations]

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

Assignment operator

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

<?php
$var = 5;

$var = $var + 10;

$var += 10;
?>

بەوردی تەماشا بکەین، دەزانین کردەکە بەسانایی چۆنە بەبێ ئاڵۆزکردن. هەمان شت لە PHP دا دەبێت وریای چۆنیەتی بەکاربردنی بین، نەبا هەڵەچنی دروست بکات. بۆ نمونە:

<?php
$var = 5;

$var += 10;  // druste
$var + = 10; // Helle,  parse error!!
?>

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

<?php
$var = 20;

$var +=4; // $var == 24
$var *=4; // $var == 96
$var -=4; // $var == 92
$var /=4; // $var == 23
$var %=4; // $var == 3  (23/4 = 5 Rest 3)

?>

هەروەکو لەنمونەی دڕێژکردنەوەی .= ڕیزبەندا باسمان کرد، دەتوانرێت لەوێش بەکار ببرێن.

<?php
$naw = 'ara';
 
$rizbend  = "sillaw ". $naw ." \n";
$rizbend .= "ema katet bash,\n";
$rizbend .= "hiwam waye, \n";
$rizbend .= "her serfraz u serkewtu bit";
?>

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

<html>
<body>
<?php
   $litr = 14;
   $nrix = 1.35;
   $paredan = $litr * $nrix; 
   $koi1 = "litr";
   $koi2 = 'Dinar';
/*	
	####################################
	##  Temashai gredani be (.=) bike ##
	####################################
*/
   $koiGishti = "Prrkirdini Tanki: " . $litr . " " . $koi1;
   $koiGishti .= " Nirxekei " . $paredan . " " . $koi2 . "<p>";
   echo $koiGishti;
 
   echo "Prrkirdini Tanki: $litr $koi1 Nirxekei $paredan $koi2<p>";
   echo 'Prrkirdini Tanki: $litr $koi1 Nirxekei $paredan $koi2<p>';
?> 
</body>
</html>

In-/decrement

لەکاتی بەرنامەسازیدا زۆرجار پێویستمان بەوەیە هەمان نرخ بۆ گۆڕواێک یەکجار بەرز بکەینەوە یان کەمبکەینەوە. ئیتر ئەمە لەدۆخێکەوە بۆ دۆخێکی تر دەگۆڕێت، بەڵام بەگشتی گرنگە بزانرێت کەئەم کردە ++ بەردەوامە چۆنە؟ کەزۆرتر و باوتر لەکاتی For-Loop بەرچاومان دەکەوێت و زۆر بەکاردەبرێت.

<?php
$nrx = 20;
$nrx++;    // berzkirdnewe +1

echo $nrx; // encamekei dekate 21
?>

هەمان شت بۆ کەمکردنەوەش -- :

<?php
$nrx = 20;
$nrx--;    // dagrtin -1

echo $nrx; // encamekei dekate 19
?>
  • تێبــــــینــــی: ئەم کردەیە بۆ کەڕەت کردن ** هیچ کات نابێت و هیچ مانایەکی بیرکاری ناداتە دەستەوە.

لەم نمونەیەدا دەتوانین ببینین چەند ڕێگایەک بۆ کورتکردنەوە بۆ لێدەرکردن هەیە وەکو یەک لایەن، کەبەپێی شارەزایی و تێڕوانیتان بۆ زمانەکە دەزانن کامەیان کورترە وە پراکتیکیترە؟ وە ئایا لەکوێدا و لەچی ساتێکدا بەکارببرێت؟:

<?php
$var = 20; // Eme nrxi $var bo yek Gorraw

$var = $var - 1; // wata bu be 19
$var -= 1;	//esta bu be 18
$var--;		//esta bu be 17
echo $var;
?>

ئاڵقەکان [Loops]

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

For

ئەم جۆرە لووپ کردنە لەهەرە باوترین جۆرەکانیەتی، وە پێکهاتووە لەدوو بڕگە

  • سەر کەبریتییە لەخاڵی دەستپێک، پاشان مەرجی کار، ئاست یان چوارچیوەی سنووردار بۆ ئەو کردەیە.
  • پێ کەکردەکانی تێدا ئەنجام دەدرێت یان خۆیان دووبارە دەکەنەوە. ئەمە نمونەی توخمی ئەم جۆرەیە:
<?php
for (Despek; Merc(ekan); Snwr u Chwarchewe) {
    /* lered krde yan krdekan denusren 
	kredeyki tr...
	krdei ...			*/
}
?>

بانمونەیەک وەربگرین، کەدەبینین چۆن یەکەمجار لەخاڵی دەستپێکەوە دەیگرێت و دوای مەرجی کردارەکە دەخوینێتەوە لەکۆتایدا بڕیار دەدات چەندجار و چۆن خۆیان دووبارە بکەنەوە تاوەکو چی سنوورێک.

Note= تێبینی گرنگ: {{{1}}}

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

<html>
<body>
<?php
   for ($i=1; $i<=5; $i++)
   {
      echo "Riz $i <p>";
   }
?>
</body>
</html>

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

<?php
   for ($z=1; $z<=5; $z=$z+1)
   {
      for ($s=1; $s<=3; $s=$s+1)
      {
         echo "Besh$z/Parche$s ";
      }
      echo "<p>";
   }
?>

لووپکردنی for لەنێو خشتەدا

وەکو باوە بۆ دروستکردنی خشتە و دانەوەی پەڕە لەدوای کردەکان، زۆرجار دانەوەی لەخشتەیەکی HTMLـــدا دەکرێت. باتەماشایایەکی ئەم نمونەیە بکەین بۆ زیاتر ڕوونکردنەوەی کارەکە:

<html>
<body>
<table border="1">
<?php
   for ($i=8; $i<=15; $i++)
   {
      echo "<tr><td>Riz</td><td align='right'>$i</td></tr>";
   }
?>
</table>
</body>
</html>

While

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

<?php
while (AyawanekanitXwendewe()) {
    Debianxwenewe();
}
?>

ئێستا ئەگەر تەماشایەکی ئەم نمونەیە بکەین، تێدەگەین کەچۆن یەک بڕ لەسەرەوەدا دەنوسرێت.

<?php
	$jmeriyar=0;
	
	while($jmeriyar<10) { // eme nmunei tegeshtine
		
	echo "$jmeriyar, ";
	$jmeriyar++;
}
?>

DO-While

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

<?php
do {
    connect();
    $data = getSomeData();
    disconnect();
} while ($data > 40);
?>

وەکو دەبینین دەبێت کۆتایی while هەمیشە بە ; کۆتایی بێت. ئەمەش نمونەیەکی تری لەو جۆرە

<?php
$bjmer=0;

do {
 echo "$bjmer, ";
 $bjmer++;
} while($bjmer<10);
?>

foreach

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

<?php
$a = array("foo", "bar", "bla");
foreach ($a as $value) {
    echo $value."\n";
}
// outputs the value of the array
?>

ئەگەر پێویستت بەنرخی ناوی گۆڕاوەکە بوو، ئەوە تەنها پێویستت بەوەیە $var => تێبخەیت بۆ دانەوەی.

<?php
$user = array('Naw' => "Ara Bextiyar",
              'Temen' => 22,
              'Shwen' => 'Kurdistan',
              10 => 100);
foreach ($user as $k => $v) {
    echo "Nawki Array  '".$k."' pekhatwe le nrxi '".$v."'\n";
}
?>

ئەمە بەجێدەهێڵین تاوانەی داهاتوو زیاتر دەچینە ناو باسی ڕێزەکان Arrays. وە نمونەی زیاتر دەربارەیان وەردەگرین دەربارەی شێوەکانیان.

ڕیزەکەکان [Arrays]

لەهەرە خەسڵەتە گرنگەکانی زمانە بزۆکەکانە و لەزمانی PHP دا گرنگیەکی تایبەتی هەیە. وەیەکیکە لەکۆڵەکەکانی داڕشتن بەم زمانە. ڕیزەکان لەزمانی PHP ــدا بەکلیلەوشەی Array دەست پێدەکات لەنێو کەوانەدا نرخەکان و بەفایزە لەیەکتریان جودا دەکرێتەوە وەکو پارامێتەر. ئەگەر توخمێکی Array وەربگرین جوانتر لامان ڕوون دەبێتەوە:

<?php
$arr = array("foo", "bar", "bla", 5.6, false, -10, "foo", "foo", "bar", "foo");
?>

ئەم ڕیزە پێکهاتووە لە 10 ئەلیمەێنت و کلیلەکان یان ئیندێکسەکان بەشێوەیەکی خۆکار لە 0 ــەوە دەست پێدەکات و بەرەوسەرەوە. ئێتسا ئەگەر بێین ئەم ڕیزە بپشکنین لەڕێگای var_dump ئەوە دەرەنجامەکەی دەکاتە ئەمەی خوارەوە:

array(10) {
  [0]=>
  string(3) "foo"
  [1]=>
  string(3) "bar"
  [2]=>
  string(3) "bla"
  [3]=>
  float(5.6)
  [4]=>
  bool(false)
  [5]=>
  int(-10)
  [6]=>
  string(3) "foo"
  [7]=>
  string(3) "foo"
  [8]=>
  string(3) "bar"
  [9]=>
  string(3) "foo"
}

ئەگەر بمانەوێت لەناو نرخەکاندا بەنرخیکی تایبەتەوە بوەستین و وەبەکاری بهێینین، ئەوە کەوانەی لێوار تیژ بەکاردەبەین. بۆنمونە لێرەدا:

<?php
$arr = array("foo", "bar", "bla", 5.6, false, -10, "foo", "foo", "bar", "foo");
echo $arr[0]; // derencam foo
echo $arr[3]; // derencam 5.6
echo $arr[4]; // derncam hich nakat, chunke nrxi bool FALSE rizbend betall dekat
var_dump($arr[4]); // derncami bool FALSE, katek ke pshkinini bo bikein.
?>

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

<?php
$arr = array("Ara", "Jon Travolta", "Cutiyar");
$arr[1] = "Esterei Sinemaye";

echo $arr[1]."\n";
?>

لێرەدا سێ ناومان هەیە بۆ پێناسەی ڕیزێک، دووەم ناویان کەدەکات شوینی ژمارە [1] بۆ ڕیزەکان چونکە یەکەم دانە بەخۆکار [0] وردەگرێت وەکو باسمان کرد. ئەم کردارە واتا گۆڕینی نرخی ئیندێکسێک لەنرخێکی نوێدا و بەم شێوەیە لەمەودوا نرخە نوێکە هەژمار دەکرێت. زۆرکات دەتوانیت Array بەتاڵ بنوسیتەوە و لەپاشدا نرخەکان بۆ هەر ئیندێکسێک دیاری بکەیت و جێگیری بکەیت. بەم شێوەیە

<?php
$arr = array();
$arr[5] = "Nrxeki Nwe";
$arr[7] = "Nrxeki tr";

var_dump($arr);
?>

ئەنجامی پشکنینی var_dump ئەم دەکات:

array(2) 
{ 
[5]=>  
string(10) "Nrxeki Nwe" 
[7]=>  
string(9) "Nrxeki tr" 
}

لەناو ڕیزەکاندا دەتوانرێت ئیدنێکسەکان بۆ نرخەکان هەمان شت بنوسرێتەوە، کەبەهۆی هێمای گەورەتر و یەکسانەوە => دەکرێن پێس ئەو هێمایانەش ژمارەی ئیندێکسەکە دەنوسرێت. وەکو لەم نمونەیەدا دەیبینین:

<?php
$bar = array(3 => "Ho", "Ha"); // dwem nrx jimare 4
var_dump($bar);
echo '<br />';

$foo = array(-7 => "amanj", "ara"); // dwem dane index jimare 0 werdegret , chunke peshekei jimarei salibe -10
var_dump($foo);
echo '<br />';

$var = array("Willat" => "Kurdistan", "Ubuntu"); // dwem dane index jimare 0 werdegret, chunke Rizbennde yekm!
var_dump($var);
echo '<br />';
?>

بادیقەتی پشکنینی var_dump بدەین:

array(2) {
  [3]=>
  string(2) "Ho"
  [4]=>
  string(2) "Ha"
}
array(2) {
  [-7]=>
  string(5) "amanj"
  [0]=>
  string(3) "ara"
}
array(2) {
  ["Willat"]=>
  string(9) "Kurdistan"
  [0]=>
  string(6) "Ubuntu"
}

associative arrays

ئەمە ئەو ریزانە دەگەیەنێت کەئیندێکسەکەیان پێکهاتبێت لەڕیزبەند string تەماشایەکی ئەم نمونەیە دەکەین کەلەکۆتایدا پشکنینی بۆ کراوە لەڕێگای var_dump ــەوە.

<?php
$riz = array();
$riz['naw'] = 'Amanj Ebdulrehman';
$riz['temen'] = 24;
$riz['shwen'] = 'Cemcemall';
$riz['pishe'] = 'FormatWindows'; //wata westai Formate ;)

echo 'Min nawim '.$riz['naw'].'e, temenim '.$riz['temen'].' salle u le shari '.$riz['shwen'].' nishtecem, xaweni dukani '.$riz['pishe']." m .\n";
echo '<br />';

var_dump($riz);
?>

nummeric arrays

ئەمە ئەو ڕیزانەی تر دەگەیەنێت کەلەناو هاوپۆلی سەرەوەدا نین وە بەگشتی بە Array وەکو بارە ئاسییکەی ناسراون وەکو پێناسی پڕواپڕ بۆی.

<?php
// nmuneyeki bnereti Array Rizekan!
$Rizekan = array('A', 'B', 'C', 'D'); ;
?>

سڕینەوەی ڕیزەکان Remove Array

بۆئەوەی نرخی ڕیزەکان بسڕینەوە دەتوانین unset بەکاربەرین.

<?php
// listi nuserani Wiki Chawg.org
$riz = array();
$riz[] = "Ara";
$riz[] = "Amanj";
$riz[] = "James Bond";
$riz[] = "Hawkar";
$riz[] = "Cwtiyar";

unset ($riz[2]); // srinewei James Bond, chunke ewe nuseri wiki niye ;)

var_dump($riz);
?>

چاو لەئەنجامی پشکنینەکە بکە بۆ زانینی ڕووداوەکان.


Constants نەگۆڕەکان

هەروەکو گۆڕاوەکان وەکو شێوەیەکی گشتی و بەdefine دەستپێدەکات، بەڵام ئەمانە ناتوانرێت بگۆڕێت و دەستکاریان بکرێت، هەروەها ناتوانن هەموو جۆرە نرخێک یان ئامانجێک وەربگرن وەکو گۆڕاوەکان، بەڵکو جۆرەنرخی scalar وەردەگرن لەگەڵ جۆرەداتای NULL. واتا هەمان یاسای چۆنیەتی نوسینی گۆڕاوەکان بەسەر ئەمانیشدا دەڕوات بەڵام ئەمان بە $ دەستپێناکەن وەزۆریش باوە کەپیتی گەورە uppercase بەکارببرێت بۆ نوسینەوەیان. هەروەها بەپێچەوانی گۆڕاوەکانەوە ئەمان دەتوان لەهەموو سکریپتەکەدا بەکارببرێت. ئەمە یەکێکە لەخاڵە بەهێزەکانی کەزۆرکات بۆ دیاریکردنی هەڵبژاردنەکان بەکار دەبرێن بۆ نمونە پەڕەی config یان هەڵەگری error_reporting.

توخمی نەگۆڕەکان

وەکو لەسەرەوەدا باسی پێویستی دەسپێکردنی بەdefine مان کرد هەمان کات یەکەم نرخ دەکاتە ناوی نەگۆڕەکە ــکە خۆی دووەم دانە دەکاتە نرخی ئەونەگۆڕە. ئەگەر نمونەی توخمیکی ئاسایی وەربگرین وەکو ئەمە:

<?php
define('MALPPERRI_BASH', 'chawg.org Wiki and forum');
?>

بانمونەکەی سەرەوە جارێکی تر تێهەڵکێشی نمونەیەکی تر بکەین لەسەر ئەو هەموو پێناسە و چۆنیەتییەی باسمان کردووە:

<?php
define('MALPPERRI_BASH', 'chawg.org Wiki and forum');
echo MALPPERRI_BASH;
// yan be shewei newan String 'rizbend'!
echo 'Fermu legell perrekani '.MALPPERRI_BASH.'!';

echo 'Fermu legell perrekani MALPPERRI_BASH'; // em sheweye Helleye, tenha weku deq!
?>

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

/** nawî bnkey drawe (The name of the database for WordPress) */
define('DB_NAME', 'nawiDB');

/** bekarhênerî bnkey drawe (MySQL database username) */
define('DB_USER', 'nawibekarheneriDB');

/** têperrewşey bnkey drawe (MySQL database password) */
define('DB_PASSWORD', 'teperrewisheiDB');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');


include

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

چۆنیەتی بەکارهێنانی INCLUDE

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

  • کۆتاییهێنان بەمۆدوسی PHP یەکە واتا ?>
  • هێنانی ئەو کۆدە یان ئەوەی کەدەیوسترێت بهێنرێت.
  • دیسانەوە دەستپێکردنەوەی مۆدوسی PHP واتا <?php.

بۆ تێگەشنێکی تەواو لەم کارە نمونەیەکی تێهەڵکێشکردن وەردەگرین. کەنمونەی دیالۆگێکە لەنێوان سیا و کۆڤان :). سەرەتا ئەو پەڕەی کەدەمانەوێت بیهێنین دروست دەکەین.

<p>
Sia: Sillaw KOVAN, nuserani wiki chawg.org britin le Amanj, Ara, Hwkar u Cwtiyar.
<br />
Aya emet nedezani?
</p>

ناوی دەنێین xinc.html پاشان پەڕەیەکی PHP دروست دەکەین بەناوی inc.php (وەکو نمونەیەک هەمان شت لەو بوخچەیە پاشەکەوتی دەکین کەپەڕەی xinc.html تێدا پاشەکەوت کردووە).کۆدەکان ئەم پەڕەیەیان بەم شێوەیە بێت:

<?php
/** emanewet be INCLUDE xinc.html Rabkeshin bo Rwnkirdnewe */
echo 'KOVAN: Min nazanim ke nusere le Wiki Chawg.org? ';

include 'xinc.html';

echo 'KOVAN: Belle dwai ew INCLUDE tewaw tegeshtim, supas bo PHP ;)';
?>

ئێستا ئەگەر تەماشای سەرچاوەی کۆدەکان بکەین تێدەگەین لەجۆنیەتی کردەکە، کەبەم شێوەیەیە:

KOVAN: Min nazanim ke nusere le Wiki Chawg.org? <p>
Sia: Sillaw KOVAN, nuserani wiki chawg.org britin le Amanj, Ara, Hwkar u Cwtiyar.
<br />
Aya emet nedezani?
</p>KOVAN: Belle dwai ew INCLUDE tewaw tegeshtim, supas bo PHP ;)

هەمان شتە ئەگەر ئێمە لەپەڕە ڕاکێشراوەکەدا کۆمەڵێک گۆڕاو بنوسینەوە لەمەی تریاندا بانگیان بکەین و کاریان لەگەڵ بکەین، ئەمە نمونەیەک لەسەر ئەو کردەیە. پەڕەی گۆڕاوەکان:

<?php
// nawerroki perrei goraw.php 
$naw = 'Ara';
$temen = 23;
$pishe = 'Xwendkari koleji Pzishki';
?>

ئەو پەڕەیەی کەڕایدەکێشین تیایدا بۆ کردەکە:

<?php
// eme naweroki perreieki tre demanewet goraw.php rabkeshin
include 'goraw.php';

echo 'Min nawm '.$naw.' _ye we temenim '.$temen.' salle, esta  '.$pishe.'_m le zankoi Slemnany';
?>

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

GET

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

http://www.example.com/file.php?section=news 
http://www.example.com/dl.php?cat=5&id=3&view=false

بەڵام وریای ئەوە ببە کەپێکاهاتەی بەکاربردنی بەستەر بۆ سەرەوە بۆ نمونە #top پەیوەندی بەم باسەوە نییە و HTML ــە.

Note= تێبینی گرنگ: تکایە لەکاری سەرەتایی نوسینی پڕۆگرامۆکە و ئامرازی بچوک بەکاری مەبە، تاوەکو تەواو تەواو هەموو لایەنەکانی بەکاربردنی چۆنیەتی پاراستنی یان بەربەستکردنی بۆ پەلاماردان دەزانیت. چونکە خودی ئەم گۆڕاوە یەکێکە لەزۆرترین سەرئێشەکانی توشی پرۆگرامنوسی سەرەتایی دەبێت.