آپلود فایل در Laravel

Laravel

Laravel

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

پیش از هر چیز، نیاز داریم که یک فرم ساده و دو Route بسازیم. Route اول برای خروجی View و Route دیگر برای ارسال فرم(Post).

در ادامه مطلب همراه ما باشید…

(بیشتر…)

استاندارد PSR-0 در PHP

  • بوسیله: محسن شفیعی
  • در 1393/07/23 - 19:21
  • نظرات (16)
PHP – پی اچ پی

PHP – پی اچ پی

هر زبان برنامه نویسی، دارای استانداردها و قوانین مربوط به خودش است که زبان PHP نیز از این قائده مستثنا نیست. استانداردهای PSR که مخفف PHP Standards Recommendation هستند، استانداردهایی معمول در PHP هستند که اکثر توسعه دهندگان PHP از آن‌ها تبعیت میکنند. اما استانداردهای سری PSR، استانداردهای لازم الجرا نیستند و هر کسی میتواند آن‌ها را نادیده بگیرد و از استانداردهای خودش استفاده کند، اما از آنجا که استفاده از این استانداردها باعث یکپارچگی در کدهای PHP خواهد شد، بنابراین استفاده از آن‌ها توصیه میشود.

در حال حاضر 5 استاندارد PSR (از PSR-0 تا PSR-4) وجود دارد. در این مطلب سعی میکنیم در مورد استاندارد PSR-0 که مهمترین استاندارد نیز است کمی صحبت کنیم.

در ادامه مطلب همراه ما باشید…
(بیشتر…)

تولید URLها در لاراول

Laravel

Laravel

برای ساختن لینک ها در اپلیکیشن هایی که با لاراول ساخته میشود میتوان آنها را به صورت دستی ایجاد کرد که توصیه نمی شود اما لاراول دستورات کمکی زیادی را برای این منظور در اختیار ما قرار می دهد.

در ادامه مطلب همراه ما باشید…

(بیشتر…)

GD یا Imagick، کتابخانه‌های گرافیکی PHP

  • بوسیله: محسن شفیعی
  • در 1393/05/31 - 21:44
  • نظرات (2)
PHP – پی اچ پی

PHP – پی اچ پی

زبان PHP برای کار با تصاویر و تغییرات در آن‌ها کتابخانه‌های متفاوتی را ارائه داده است که مهمترین و مشهورترین آن‌ها GD و ImageMagick است. برای ایجاد تصاویر یا تغییرات در آن‌ها مانند تغییر در عرض و طول، چرخش، سایه ها، ایجاد متن و غیره باید از یکی از این کتابخانه‌ها استفاده کرد.
در این مطلب ما به مقایسه دو کتابخانه GD و Imagick میپردازیم.
در ادامه مطلب همراه ما باشید…

(بیشتر…)

ایجاد فرم تماس با ما با استفاده از لاراول – بخش دوم

  • بوسیله: محسن شفیعی
  • در 1393/05/17 - 17:40
  • نظرات (8)
Laravel

Laravel

در بخش اول از این مطلب ما فرم تماس با ما را ایجاد کردیم و همچنین عملیات Validation را انجام دادیم، و همچنین به نکاتی مانند محلی کردن لاراول، برگشت داده‌ها و غیره اشاره کردیم.
همانطور گفتیم در این بخش ما میخواهیم اطلاعات گرفته شده از کاربر را درون دیتابیس ذخیره کنیم و همچنین یک ایمیل از اطلاعات وارد شده توسط کاربر به مدیر سایت ارسال کنیم.
در ادامه مطلب همراه ما باشید…

(بیشتر…)

ایجاد فرم تماس با ما با استفاده از لاراول – بخش اول

  • بوسیله: محسن شفیعی
  • در 1393/04/15 - 16:29
  • نظرات (8)
Laravel

Laravel

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

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

قبل از هر چیز جدیدترین نسخه Laravel که در زمان این مطلب 4.2.0 است را نصب میکنیم. نحوه نصب و تنظیمات اولیه را در مطلب اول و دوم سری آموزشی لاراول بخوانید.

در ادامه مطلب همراه ما باشید…

(بیشتر…)

استفاده از Captcha در Laravel

  • بوسیله: محسن شفیعی
  • در 1393/01/25 - 20:06
  • نظرات (5)
Laravel

Laravel

اگر سری آموزش فریم ورک Laravel را دنبال کرده باشید، احتمالا خواسته اید که کتابخانه یا قطعه کد یا یک کلاس جداگانه را به Laravel اضافه کنید. در نسخه های قدیمی، Laravel از bundle برای اینکار استفاده میکرد، که البته این راه استاندارد آن بود و راه های متفاوت دیگری نیز وجود دارد. اما در نسخه های جدید Laravel از Package استفاده میکند و دیگر دستور php artisan bundle در Laravel وجود ندارد.

اما استفاده از Packageها صجبت این مطلب ما نیست. در واقع ما با استفاده از این قابلیت (Package)، قطعه کدی که قبلا برای ایجاد Captcha در آپارنت گذاشته بودیم را به Laravel وارد کردیم. برای استفاده از Captcha در Laravel کافیست این پکیج را به Laravel اضافه کنید و از آن استفاده نمایید.

در ادامه مطلب همراه ما باشید…

(بیشتر…)

Laravel: کار با Controllerها

  • بوسیله: محسن شفیعی
  • در 1392/12/28 - 18:54
  • نظرات (12)
Laravel

Laravel

در سومین مطلب از این سری از آموزش‌ها با Route ها آشنا شدیم و کمی هم با آن کار کردیم. اما استفاده از Route برای سایت‌هایی که دارای مسیرهای مختلف زیادی هستند (برای مثال بالاتر از 2) مناسب نیست، و برنامه نویس وقتی که فایل routes.php را باز میکند دچار سردرگمی خواهد شد و نکته دیگر اینکه نظم دهی پایین خواهد آمد و بوجود آمدن مشکلات زیادتر خواهد شد.

Controllerها برای همین ایجاد شده اند. فرض کنید که شما مسیر http://yoursite.com/user را برای کاربران خود در نظر گرفته اید. حالا این مسیر خودش دارای چندین مسیر دیگر است. برای مثال مسیر user/create یا user/profile یا هر مسیری که خودتان میخواهید داشته باشید. بنابراین شما باید یک Controller ایجاد کنید که مخصوص مسیر user/ باشد و تمام زیر مسیرهای آن را در یک Controller مستقل از مسیرهای دیگر، کنترل و مدیریت کنید.

در ادامه مطلب همراه ما باشید…

(بیشتر…)

چگونه با امنیت یک پسورد را ذخیره کنیم؟

  • بوسیله: محسن شفیعی
  • در 1392/12/22 - 10:40
  • نظرات (7)
Hash

Hash

در مطلبی در گذشته با عنوان آموزش هش(Hash) کردن پسورد در PHP انواع روش های هش کردن پسورد را بیان کردیم که الگوریتم های گفته شده علاوه بر زبان PHP در زبان های دیگر نیز قابل استفاده هستند. الگوریتم های معمول شامل md5, sha128, sha256, sha512, bcrypt و به همراه تکنیک salt است. اما از کدام الگوریتم برای ذخیره پسورد استفاده کنیم؟ مطمئنا جواب ما BCrypt است. اما چرا؟

در ادامه مطلب همراه ما باشید…

(بیشتر…)

Laravel: کار با Eloquent

  • بوسیله: محسن شفیعی
  • در 1392/12/18 - 12:50
  • نظرات (10)
Laravel

Laravel

در دو مطلب قبلی نحوه کار با دیتابیس را یاد گرفتیم و میتوانیم همه عملیات های روی دیتابیس را از طریق لاراول انجام دهیم بدون اینکه به صورت مستقیم از کدهای SQL استفاده کنیم. اما برای کار با دیتابیس در لاراول بهترین گزینه استفاده از Eloquent است. Eloquent فقط برای کار با یک جدول است و نمیتوان از دستورهایی مانند join یا group استفاده کرد و برای این عملیات ها باید از روش معمول که در مطلب قبلی گفته شد استفاده کنیم.

در ادامه مطلب همراه ما باشید…

(بیشتر…)