نمایش نتیجه های نظرسنجی ها: مایل به ادامه آموزش هستید ؟

رأی دهندگان
10. شما نمی توانید در این نظرسنجی رای دهید.
  • بلی

    10 100.00%
  • خیر !

    0 0%
نمایش نتایج: از شماره 1 تا 3 , از مجموع 3

موضوع: آموزش شئ گرایی پیشرفته در php قسمت اول

  1. #1
    EM4D-M آواتار ها
    تاریخ عضویت
    Aug 2011
    نوشته ها
    1,836
    تشکر
    585
    2,839 بار تشکر شده در 1,287 پست

    آموزش شئ گرایی پیشرفته در php قسمت اول

    بسم الله الرحمن الرحیم

    ضمن سلام خدمت دوستان گرامی ،
    چند روزی است درگیر نوشتن و تکمیل مقاله در مورد تکنیک ها و آموزش پیشرفته OOP هستم .
    لطفا در نظر سنجی شرکت کنید و بگویید مایل به ادامه این آموزش ها هستید یا خیر .

    صمیمانه از شما سپاسگذارم .

    شروع آموزش :

    نوسازی مدل شئی (Object Model) و بهبود پشتیبانی تکنیک ها و متدلوژی های شئ گرای استاندارد را میتوان به عنوان بزرگترین و اساسی ترین تغییر در PHP 5 تلقی کرد . تمرکز روی برنامه نویسی شئ گرا (OOP) یا الگو های طراحی هدف این آموزش نیستند . کتاب های خوبی در این زمینه ها نوشته شده اند که میتوانید از آنها استفاده کنید . در عوض ، در این آموزش تنها مروری بر این موارد خواهیم داشت .
    من در مورد برنامه نویسی شئ گرا در PHP نظر خوبی ندارم . به دلایل متعدد ، استفاده از OOP در PHP مثل این است که بری کشتن پشه از چکش استفاده کنید . سطح انتزاعی (Abstraction) که در این روش ارایه میشود برای انجام امور ساده ضروری نیست . با این حال ، هر چه سیستم پیچیده تر شود استفاده از OOP منطقی تر جلوه میکند .و برخی سیستم هایی که من روی آن ها کار کرده ام واقعا از طراحی مدولار (Modular) و تکنیک های OOP بهره خوبی گرفته اند .

    در این سری آموزش ها مروری بر تکنیک های پیشرفته OOP در PHP خواهیم داشت . برخی از مثال هایی که در اینجا خواهید دید در طی آموزش مورد استفاده قرار خواهد گرفت که امیدوارم این مثال ها نمایش خوبی از کاربر واقعی OOP در حل مسایل باشند .

    برنامه نویسی شئ گرا پیشرفت محسوسی را نسبت به برنامه نویسی ساختار یافته ( یا پروسه ای ) (Structured Programming) به وجود آورده است . در برنامه نویسی ساختار یافته که روشی سنتی برنامه نویسی در PHP است ، داده ها در متغیر ها ذخیره شده و به تابع ها فرستاده میشوند . سپس تابع ها روی داده ها پردازش شده ، تغییر میابند یا داده های جدید ایجاد می کنند . یک برنامه پروسه ای به طور سنتی عبارت است از فهرستی از دستور العمل ها که به ترتیب اجرا شده و در این راه از دستور های کنترلی ، تابع ها و نظایر آن ها استفاده میکنند .

    مثال بعدی نمونه ای از کد پروسه ای هست :

    کد:
    <?php 
    function hello($name)
    {
    	return "Hello $name!\n";
    }
    function goodbye($name) 
    {
    	return "Goodbye $name!\n";
    }
    function age($birthday)
    {
    	$ts = strtotime($birthday);
    	if($ts==-1) {
    		return "Unknown";
    	}
    	else {
    	$diff = time()-$ts;
    	return floor($diff/(24*60*60*365));
    	
    	}
    }
    $name= " Emad";
    $bday = "10 Oct 1990";
    echo hello($name);
    echo "You Are ".age($bday)." years old.\n";
    echo goodbye($name);
    ?>
    خروجی : Hello Emad! You Are 21 years old. Goodbye Emad!

    معرفی برنامه نویسی شئ گرا

    باید دقت کنید که در برنامه نویسی ساختار یافته ، توابع و داده ها از یکدیگر جدا هستند ، در حالی که در برنامه نویسی شئ گرا داده ها و توابع به شکل اشیایی یک پارچه در می آیند . اشیا به طور هم زمان حاوی داده ها ( که مشخصه (Property) نامیده میشوند ) و توابعی که با این داده ها کار میکنند ( متد ها ( Method ) ) هستند .

    هر شئ توسط کلاس که به آن تعلق دارد ، تعریف میشود . یک کلاس ، مشخصه ها و متد های شئ را تعریف میکند . با ایجاد یک نمونه (Instance) از یک کلاس میتوان یک شئ جدید ساخت . وقتی شیئ جدید با عمل نمونه سازی ساخته شود ، مقدار مشخصه های آن تعیین شده و متد سازنده (Constructor) آن را فراخوانی می شود . متد سازنده تابعی است که عملیات تنظیم اولیه شئی را انجام میدهد . نام متد سازنده در PHP 5 باید
    کد:
    __constructor()
    باشد تا مترجم بتواند آن را شناسایی کند . در مثال زیر یک کلاس ساده به نام User تعریف میشود سپس یک نمونه از آن ساخته شده و این نمونه ، دو متد مربوط به خود را فراخوانی میکند :

    کد:
    <?php 
    
    
    // Example 2
    // Amir Emad Mahmodpor - Mahmodpor.Com 
    
    
    class User{
    	public $name;
    	public $birthday;
    	public function __construct($name,$birthday)
    	{
    	$this->name = $name;
    	$this->birthday = $birthday;
    	}
    public function hello()
    {
    	return "Hello $this->name!\n";
    }
    public function goodbye() 
    {
    	return "Goodbye $this->name!\n";
    }
    public function age()
    {
    	$ts=strtotime($this->birthday);
    	if($ts===-1) {
    	return "Unknown";
    	}
    	else {
    	$diff = time()-$ts;
    	return floor($diff/(24*60*60*365));
    	}
      }
    }
    
    
    $user = new User('Emad','10 Oct 1990');
    echo $user->hello();
    echo "You Are ".$user->age()." Years old.\n";
    echo $user->goodbye();
    ?>
    خروجی : Hello Emad! You Are 21 Years old. Goodbye Emad!

    تا این قسمت از آموزش برای جلسه اول کافی است . انشاالله ادامه توضیحات در جلسات بعدی

    http://mahmodpor.com/post-20.html

    موفق و پیروز باشید
    امیر عماد محمودپور

    - پست قبلی در ساعت 23:53 ایجاد و آخرین به روز رسانی توسط پست زیر در ساعت 01:46 انجام شده است :

    یا اگر بحثی یا قسمت خاصی از php مد نظرتون هست عرض کنید

    - پست قبلی در ساعت 01:46 ایجاد و آخرین به روز رسانی توسط پست زیر در ساعت 10:01 انجام شده است :

    از دوستانی که شرکت کردند ، سپاسگذارم .
    لطفا سایر عزیزان هم شرکت کنند تا اگر واقعا علاقه دارند ، شروع کنم . چون هم بحث تخصصی میشه ممکنه بعضی از دوستان باهاش ارتباط برقرار نکنند و هم اینکه نوشتن آموزش ها کار وقت گیری هست و اگر عزیزان واقعا استفاده میکنند ادامه بدیم . در غیر اینصورت از مباحث سطحی تر شروع کنیم .

    ولی توجه کنید مباحث سطحی در اینترنت فراوان است ولی آموزش های تخصصی در ایران ، نه کتابی دارند و نه ایبوکی
    PHP / Mysql / Postgresql •
    CakePHP / Phalcon / Symfony / Laravel •
    Go / Python / Node.js •


  2. کاربران زیر به خاطر این پست از EM4D-M تشکر کرده اند :


  3. #2
    S.A.E.I.D آواتار ها
    تاریخ عضویت
    Nov 2011
    نوشته ها
    1,973
    تشکر
    3,876
    2,577 بار تشکر شده در 1,564 پست
    سلام
    اگه میشه بیشتر مباحث تخصصی تری بگذارید
    و اگه میتونید مطالبی در مورد فریم ورک ها هم قرار بدید
    باز هم ممنون و تشکر
    دیشب از دلتنگیت بغضی گلویم را شکست / گریه ای شد بر فراز آرزوهایم نشست/ من نگاهت را کشیدم روی تاریخ غزل / تا بماند یادی از روزی که بر قلبم نشست . .

  4. #3
    EM4D-M آواتار ها
    تاریخ عضویت
    Aug 2011
    نوشته ها
    1,836
    تشکر
    585
    2,839 بار تشکر شده در 1,287 پست
    خواهش میکنم ، چشم .

    در مورد فریم ورک ها باید از پایه نوشت که به وقتش برنامه ریزی های لازم برای شروع آموزش انجام میشه .

  5. کاربران زیر به خاطر این پست از EM4D-M تشکر کرده اند :


موضوعات مشابه

  1. پاسخ ها: 8
    آخرين نوشته: 2016-08-14, 14:28
  2. آموزش درآمدزایی از پنل پیامکی
    توسط ndanda در انجمن معرفی سایت ، فروشگاه ، کانال و...
    پاسخ ها: 0
    آخرين نوشته: 2015-08-20, 09:49
  3. پاسخ ها: 18
    آخرين نوشته: 2014-09-17, 14:46
  4. آموزش تصویری آشنایی با نحوه کار موتور جستجو و سئو ( آموزش ششم )
    توسط amini در انجمن موتور جستجو ، سئو و بهینه سازی
    پاسخ ها: 12
    آخرين نوشته: 2012-10-07, 23:35

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید
  • شما نمیتوانید پست های خود را ویرایش کنید
  •