آموزش PHP

قطعه کدهای کاربردی زبان PHP

کدهای پراستفاده در PHP

قطعه کدهای کاربردی زبان PHP، در این مطلب پرکاربردترین قطعه کدهای زبان برنانه نویسی PHP به صوررت رایگان قرار می گیرد.

قطعه کدهای کاربردی PHP

قطعه کدهای کاربردی PHP

 

ایجاد تابع و ارسال آرگومان در PHP

				
					<?php
        function hi($name, $color = "blue")
        {
            echo '<span style="color:' . $color . ';"> Hello ' . $name . '</span>';
        }
        hi("Payam", "red");

				
			

پردازش تقسیم با استفاده از تابع

				
					<?php
        function divide($num1, $num2)
        {
            if ($num2 == 0) {
                return;
            }
            $result = $num1 / $num2;
            return $result;
        }

        echo divide(10, 2);
				
			

دسترسی به متغیر سراسری در توابع

				
					<?php
        $x = 10;
        function access()
        {
            global $x;
            echo $x;
        }
        access();
				
			

تعریف متغیر استاتیک در تابع برای نگهداری وضعیت و جلوگیری از ریست شدن

				
					<?php
         function bingo()
            {
                static $num = 6;
                $num++;
                echo $num;
            }
        bingo();
        bingo();
        bingo();
        bingo();
        //result: 6,7,8,9
				
			

جداسازی مقادیر آرایه با کاراکتر موردنظر (متد implode)

				
					 <?php
        $numbers = [10, 12, 6, 9, 7];
        $str = implode(',', $numbers);
        echo $str;


				
			

تبدیل رشته به آرایه (متد explode)

				
					<?php
        $numbers = '10, 12, 6, 9, 7';
        $str = explode(',', $numbers);
        print_r($str, true);
        //Array ( [0] => 10 [1] => 12 [2] => 6 [3] => 9 [4] => 7 )
				
			

استفاده از متد list، دریافت مقادیر date و قرار دادن آنها در یک آرایه ای از list

				
					 <?php
        list($y, $m, $d) = explode('/', date('Y/m/d'));
        echo implode(':', array($y, $m, $d));
        //2023:03:02
				
			

تولید کاراکتر تصادفی (رمز عبور)

				
					<?php
        $make_pass = range('A', 'Z');
        $result = '';
        while (strlen($result) < 6) {
            $result .= $make_pass[array_rand($make_pass)];
        }
        echo $result;
        //ECCRQX
				
			

تولید رمز عبور تصادفی متشکل از کاراکتر و اعداد

				
					 <?php

        $make_pass = array_merge(range('A', 'Z'), range(0, 9));
        $result = '';
        while (strlen($result) < 10) {
            $result .= $make_pass[array_rand($make_pass)];
        }
        echo $result;
        //3577A7XTLP
				
			

ایجاد آرایه ای از متغیرها

				
					<?php

        $name1 = 'Payam';
        $name2 = 'Pouya';
        $name3 = 'Reza';
        $name4 = 'Ali';

        $names = compact('name1', 'name2', 'name3', 'name4');
        echo '<pre>' . print_r($names) . '</pre>';
        //Array ( [name1] => Payam [name2] => Pouya [name3] => Reza [name4] => Ali )
				
			

استخراج یا extract کردن مقادیر آرایه به متغیرهای مجزا، در آرایه زیر متغیر name مقدار موجود در آرایه رو در خودش ذخیره می کند.

				
					<?php
        $person = [
            'id' => 777,
            'name' => "Payam",
            'family' => "Hayati",
            'IELTS' => 6
        ];

        extract($person);
        echo $name;
        //Payam
				
			

متغیر متغیرها، نمایش متغیرها با استفاده از حلقه for

				
					 <?php
        $name1 = 'Payam';
        $name2 = 'Pouya';
        $name3 = 'Reza';
        $name4 = 'Ali';

        $name = 'name';
        for ($i = 1; $i <= 4; $i++) {
            $var = $name . $i;
            echo ${$var};
        };
        //PayamPouyaRezaAli
				
			

تعیریف تابع، به مقادیری که برای تابع ارسال می شوند آرگومان می گویند.

ورودی هایی که تابع دریافت می کند را پارامتر می گویند.

				
					 <?php
        function bingo($name)
        {
            echo $name;
        }

        bingo('Payam');
        //Payam
				
			

نمایش پارامترهای دریافتی در تابع، می توانیم بر اساس تعداد پارامترهای دریافتی پردازش های مختلفی رو انجام بدیم.

				
					<?php
        function show_parameter()
        {
            $parameters = func_get_args();
            print_r($parameters);
        }

        show_parameter();
        show_parameter(5);
        show_parameter(7);
        //Array ( ) Array ( [0] => 5 ) Array ( [0] => 7 )
				
			

استفاده از متد “register_shutdown” برای زمانی که می خواهیم در پایان اسکریپت ما پردازش خاصی انجام شود، مثلا یک log گرفته شود.

				
					 <?php

        function shutdown()
        {
            // This is our shutdown function, in 
            // here we can do any last operations
            // before the script is complete.

            echo 'Script executed with success', PHP_EOL;
        }

        register_shutdown_function('shutdown');
        //Script executed with success
				
			

بررسی null یا empty بودن مقدار یک متغیر

				
					 <?php
        $a = null;
        if (is_null($a)) {
            echo "A is Null";
        }
        //A is Null
				
			

تبدیل حروف بزرگ به کوچک و بالعکس

				
					 <?php
       $name = 'PAYAM';
        $result = strtolower($name); 
        echo $result;
        //payam
        //$result = strtoupper($name);
				
			

از بین بردن فاصله یا space در رشته

				
					<?php
$name = 'P A Y A M';
$string = str_replace(' ', '', $name);

echo $string;
//PAYAM

				
			

ریست کردن فیلد Auto increment در phpmyadmin، برای این کار جدول مورد نظر رو انتحاب کنید و از تب operation مقدار AUTO_INCREMENT رو برابر “1” قرار بدید و در نهایت بر روی دکمه “Go” کلیک کنید.

ریست کردن فیلد Auto increment

ریست کردن فیلد Auto increment

 

اگر روش فوق جواب نداد از کدهای زیر استفاده کنید:

				
					SET @num := 0;
UPDATE announcements SET an_id = @num := (@num+1);
ALTER TABLE announcements AUTO_INCREMENT = 1;
				
			

دسترسی به متغیرهای Private در کلاس.
برای دسترسی و تغییر مقادیر این نوع متغیرها ما باید متد جداگانه ای بربای این کار در نظر بگیریم تا امنیت بیشتری را داشته باشیم و مقادیر قبل از ست شدن بررسی شوند.

در مثال زیر مقدار ارسالی برای تابع “name” در صورتی که برابر با “Payam” باشد مورد پردازش قرار می گیرد در غیر این صورت پیغام “Error” جایگزین می شود.

نوشتن متدهای مختلف برای کنترل نمایش و مدیریت مقادیر را کپسوله سازی می گویند.

				
					<?php

//Hi.php
class Hi
{
    public $x;
    public $y;
    private $name;

    public function __construct()
    {
        $this->x = 5;
        $this->y = 10;
    }


    public function setName($n)
    {
        if ($n == "Payam") {
            $this->name = $n;
        } else {
            $this->name = "Error";
        }
    }

    public function display()
    {
        echo $this->name;
    }
}


// index.php
<?php

require_once 'classes/Hi.php';

$p = new Hi();
$p->setName("ali");
echo $p->display();
// Error

				
			

متد “destruct” که مخرب کلاس هم نامیده می شود زمانی استفاده می شود که بخواهیم بعد از اینکه شی کلاس از بین رفت پردازش خاصی انجامم شود، به عنوان مثال منابعی که استتفاده می شدند آزاد شوند.

				
					 public function __destruct()
    {
        ...
    }

				
			

تعریف ثابت ها در کلاس و فراخوانی آنها.

ثابت ها یا const همواره public هستند و بدون ایجاد شی جدید می توان آنها را فراخوانی کرد. همچنین ثابت ها همانند متغیرها فضا ذخیره نمی کنند، هر زمان php به کد موردنظر رسید مقدار نوشته شده رو جایگزین می کند.

				
					<?php

//Hi.php
class Hi
{
    const PI = 3.14;

    public function reading()
    {
        echo self::PI;
    }
}



// index.php
require_once 'classes/Hi.php';

$p = new Hi();

$p->reading();
echo Hi::PI;
				
			

با استفاده از دستور instanceof می تونیم بررسی کنیم که یک شیء مربوط به کلاس خاصی هست یا خیر و بر اساس برقرار بودن یا نبود این شرط، پردازش هدف رو انجام بدیم.

				
					<?php

$v = new Vehile();
$v->name = "Vehicle1";
if ($v instanceof Vehile) {
    $v->move();
}
				
			

مدیریت خطا به صورت شی گرا

فرض کنید من یک کلاس دارم با نام “Bingo” که یک پارامتر می گیرد، در متدی به نام “make_err” بررسی می کنم اگر مقدار دریافتی بیشتر از “0” باشد یک “Exception” ایجاد و از متد خارج شود.

حالا باید این “Exception” یا خطایی که ایجاد شده رو بگیریم و بر اساس نوع خطا پیام مناسب رو به خروجی برگردونیم یا سایر پردازش ها مثل لاگ گیری رو انجام بدیم.

برای مدیریت خطا از try, catch استفاده می کنیم.

				
					// Bingo.php

<?php
class Bingo
{
    public function make_err($x)
    {
        if ($x > 0) {
            throw new Exception('Invalid Value', 300);
            //exit(); Optional
        }
    }
}

// index.php

$b = new Bingo();
try {
    $b->make_err(10);
} catch (Exception $e) {
    echo '<p style="color:red">';
    echo 'Error: ' . $e->getMessage() . '<br />';
    echo 'Error Code: ' . $e->getCode() . '<br />';
    echo 'Line: ' . $e->getLine() . '<br />';
    echo '</p>';
}

				
			

* ما در متدهای استاتیک به متغیرها یا property های غیراستاتیک دسترسی نداریم.

——————————————

مقاله های آموزشی فریم ورک لاراول

سایت رسمی لاراول

کاربرد HTML

 jQuery

جاوا اسکریپت در 1 ساعت

کاربرد CSS

آموزش ReactJS

صفر تا صد PHP

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *