در اولین بحث در مورد مدیریت محتوا ها حرف خواهیم زد و یک مقایسه نسبی از آن ها خواهیم داشت، چه کار کردن با آن ها و چه نوشتن افزونه برای آن ها. مدیریت محتواهای بسیاری وجود دارد ولی بر حسب تجربه ای که از آن ها دارم می خواهم اطلاعاتی را در مورد آن ها ارائه دهم. مهمترین عاملی که یک سیستم مدیریت محتوا را پراستفاده می کند سادگی آن است، ولی سادگی زیاد هم زیاد خوب نیست. به عنوان مثال WordPress بسیار ساده می شه ازش استفاده کرد، ولی از نظر فنی خیلی بد نوشته شده، تازگی ها کمی بهتر شده ولی در ورژن های زیر ۴ کلاً فله ای بود. Joomla کمی سخت تر از WordPress هستش، منظور استفاده از آن ها است. سیستم Joomla خیلی بهتر از WordPress است هم از نظر فنی و هم از نظر انعطاف پذیری. در کل به نظر من Joomla خیلی خیلی بهتر از WordPress هستش. ولی یک ایراد کلی دارن و اون امنیت پایین آن ها است. به قول یکی از دوستام این دوتا مثل الک می مونند از بس که سوراخ سوراخ هستند. اگر دنبال یک مدیریت محتوا امن، حرفه ای هستید حتماً از Drupal استفاده کنید.

میریم سراغ فریم ورک های PHP که خیلی ها سوال دارن در این مورد. هر چقدر هم حرفه ای باشید برای راه اندازی یک پروژه مهم خودتون سیستم را از صفر ننویسید، این را هیچ وقت فراموش نکنید. شما باید باید باید از فریم ورک ها استفاده کنید. حالا بعضی ها دنبال این هستند که چطور یک فریم ورک مناسب را انتخاب کنید؟ یا اصلاً چرا باید از فریم ورک هاس استفاده کنیم و خودمان پروژه را از صفر ننویسیم. چند دلیل خیلی مهم در استفاده از فریم ورک ها است. مهمترین بحث در مورد نرم افزار امنیت است، فریم ورک ها استراتژی های امینت خوبی را فراهم می کنند. امنیت فقط این نیست که مثلاً با SQL Injection مقابله کنید، اگر فکر می کنید امنیت در مقابله با چیزهای ساده ای مثل SQL Injection یا CSRF یا XSS هستش در استباه می باشید. سیستم باید فیلترینگ خوبی داشته باشد تا داده هایی که از سمت کلاینت می آید بررسی کند تا کدهای بدی در Header ها اضافه نکند. نمی خوام زیاد در مبحث امنیت ورود کنم، در این حد که امنیت در فریم ورک ها واقعاً خوب رعایت شده و تست شده می باشد. یکی سادگی کارها و سرعت بخشیدن به اتمام پروژه است که ما باید از فریم ورک ها استفاده کنیم.(jafaripur.ir)

 

لاراول چیست؟

اجازه بدید جهت آشنایی کسانی که تازه به سمت این فریمورک آمدند، کمی با تاریخچه خود لاراول آشنا بشیم.

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

اولین نسخه این فریمورک در سال ۲۰۱۱ منتشر شد و تا کنون ۵ نسخه از این فریمورک روانه دنیای اوپن سورس شده.

در مورد اسم این فریمورک، سازنده اون میگه، در حین انتخاب نام، یاد سرزمین نارنیا افتادم، در این سرزمین قلعه ای وجود داره به نام Cair Paravel، که من لاراول رو از نام این قلعه گرفتم و …!

به دلیل غنی بودن کامپوننت های فریمورک سیمفونی، لاراول در ابتدا قسمت های مختلفی از جمله Routing، ORM، View رو بر اساس کامپوننت های سیمفونی پیاده سازی کرد، ولی به تدریج اکثر قسمت ها بازنویسی شد و در حال حاضر فقط از چند کلاس سیمفونی در لاراول بیشتر استفاده نمی شه.

لاراول به شدت شی گراست و روش ها و الگوهایی در پیاده سازی اون استفاده شده که تا به حال در کمتر فریمورک PHP مورد استفاده قرار گرفته، مثل Facade، Reflection، IoC، Method Injection و …

لاراول از نسخه ۴ به بعد برای مدیریت وابستگی و کتابخانه ها از Composer استفاده می کنه.

هدف اصلی لاراول تمرکز بر توسعه برنامه و جلوگیری از درگیر بودن برنامه نویس با کدهای فریمورک هست، یعنی کارها با کد کمتر و روان تر انجام بشه و توسعه دهنده بر منطق برنامه تمرکز کنه و نه روی چگونگی اجرای منطق.

برخلاف اونچه شایع هست و تصور میشه، لاراول هیچ شباهتی به فریمورک Codeigniter نداره، بلکه شبیه فریمورک Phalcon هست، هم از نظر معماری و هم از نظر API، برای اطلاعات بیشتر به مستندات این دو فریمورک مراجعه کنید.

 

در این دوره ما با ساز و کار لاراول آشنا خواهیم شد و بعد از آن شروع به یک پروژه بینظیر خواهیم کرد( انشالاه اگه عمر و زمان باشه )

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

در لاراول بر اساس ۷ متد مرسوم پروتکل HTTP میشه روت هایی تعریف کرد، این متدها عبارتند از get، post، put، patch، delete، options و head.
هر روت می تونه با یکی یا چند یا همه این متدها نوشته بشود.

مثلا با تایپ آدرس فرضی http://localhost/learn/home، یک درخواست با URI برابر / و متد GET برای لاراول ارسال میشود و لاراول با توجه به روت های تعریف شده در فایل app/Http/routes.php تصمیم می گیرد که کدوم اکشن یا کد اجرا بشه و چه نتیجه ای برای درخواست دهنده ارسال بشود.

سرفصل های دوره دوره آموزش فریمورک laravel

  • فصل اول:
    • لاراول چیست و چرا ما لاراول استفاده میکنیم (برای درک بهتر ب لینک هم میتونید سری بزنید)
    • composer کارش چیه و نصب اون  (برای درک بهتر ب لینک هم میتونید سری بزنید)
    • نصب لاراول
    • کمی به درون لاراول سر بزنیم
  • فصل دوم
    • کار با ویو ها و فرم ها
    • کار با آدرس دهی ها
    • آدرس دهی پیشرفته
    • اضافه کردن کلاس های form , html
  • فصل سوم
    • request ها و پاسخ بشون
    • معرفی و کار با model
    • معرفی و کار با migration ها
    • نحوه کار با دیتا بیس و معرفی table ها
    • کار با کلاس eloquent
    • select ,delete ,update, insert ,....در دیتابیس با لاراول
  • فصل چهارم
    • احراز هویت در لاراول
    • احراز هویت کمی شخصی سازی شده و تمیز تر
    • اعتبار سنجی فرم ها
    • آپلود فایل