چابک شوید !


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

تا اینکه برای رهایی از این داستان دست به دامن اسکرام شدیم باورتون نمیشه از وقتی از اسکرام استفاده کردیم انگیزه و لذت انجام پروژه ها توی هممون دو برابر شده و حالا امتیازاتی که اسکرام برای من و دوستانم داشت:

ایجاد روحیه تیمی

من وقتی یک تسک (وظیفه) رو با موفقیت انجام میدم و اون رو توی بخش انجام شده ها قرار میدم اینکار درون من حس خوبی ایجاد می کنه که یک کار رو با موفقیت انجام دادم و تونستم به همکارام اعلام کنم که دارم به خوبی به کارم ادامه میدم

ایجاد انگیزه و رقابت

وقتی همکارم یک تسک رو به خوبی انجام میده و اون رو در قسمت انجام شده ها قرار میده یا اینکه میبینم یک تسک جدید رو شروع کرده این حس به من انتقال میشه که همکارام هم دارن به خوبی من کار می کنن و حس رقابت و خود نمایی بیشتر رو درون من ایجاد می کنه

دل گرمی

هممون وقتی به تابلو اسکرام نگاه می کنیم و میبینیم که کار ها چقدر پیش رفته و به چه نحوی انجام شده دل گرم میشیم

چه ما که توی تیم تحلیل و اجرا هستیم چه دوستانم توی بخش های تجاری پروژه

افزایس سرعت پیاده سازی

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

مزیت دوم اینه که ما وقتی کلیه مراحل پیاده سازی پروژه رو همراه با جزئیات ثبت می کنیم برای اجرا پروژه بعدی حد اقل توی تحلیل خیلی جلو هستیم یک جورایی قدم جای پای نفر قبلی گذاشتن میشه

مدیریت زملان بندی

اسکرام باعث شده تا ما بتونیم برای انجام پروژه هامون زمان بندی دقیق رو اعلام کنیم و زمانی که اعلام کردیم موظف به انجام اون هستیم حالا به هر شکلی شده پروژه رو سر موعد همراه با همان جزئیاتی که خودمون نوشتیم پیاده سازی کنیم

رفع نواقص شخصی

من خودم به شخصه بعد از استفده اسکرام توی ۴ تا پروژه به خیلی از کمبود ها و خطاهای خودم پی بردم و سعی کردم اونها رو اصلاح کنم

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

پیشنهاد من به شما اینه که چه بخوایین به صورت تیمی پروژه رو انجام بدین و یا چه به صورت تکی و فری لنسری، برای یکبار هم که شده از این متدلوژي مهندسی نرم‌افزار و مدیریت پروژه استفاده کنید تا نتایجشو تو کاراتون ببینید.




چرا من لاراول را به شما پیشنهاد می کنم ؟


حوب حالا نوبت  این شد که منم بیام یکم از مزایایی  لاراول بگم که شاید دوستان php کار ما  ایمان بیاورن و لاراول کار بشن

لاراول یکی از قوی ترین و پر طرف دار ترین فریم وری های php  هست .

البته همه فریم ورک های php خوب هستن و این فقط نظر شخصی خودم هست .

این مطلب برای اون دسته از دوستانی هست که می دونن چرا باید از فریم ورک استفاده کنن یا به قولی به فریم ورک ایمان دارن حالا دوستانی که هنوز به این نتیجه نرسیدن که چرا باید از فریم ورک استفاده بکنن این مطلب رو بخونن :
چرا باید در برنامه نویسیس php  از فریم ورک استفاده بکنیم

از حاشیه کم می کنم و می رم سر اصل مطلب

لاراول با بقیه فریم ورک های ابتدایی یک سری تفاوت های داره که منی که الان چندین   پروژه باهاش نوشتم اون رو خوب درک کردم و می نویسم تا دوستان هم استفاده بکنن

اولین چیز جالب برای من  اینه که سیستم migration  خوبی داره که حالا سعی می کنم نحوه کار کردن باهاش رو طی یک پست براتون قرار بدم .
حالا این  migration  چی هست و چرا برای ما مفیده ؟
معمولا اکثر فریم ورک های خوب php این قابلیت رو دارن اکثر برنامه نویس های php که من دیدم بانک اطلاعاتی رو توسط phpmyadmin درست می کنن و برای تغییر دادن و یا حتی حذف جداول
هم از phpmyadmin  استفاده می کنن خوب این روش به نظر من یکم قدیمی و ایتدایی هست چرا که می تونیم با نوشت migration  و اجرا کردن آن  در هر لحظه روی بانک اطلاعاتی در حال طراحی تغییرات رو اعمال کنیم و حتی مرحله به مرحله  rollback  کنیم ساده تر بگم برگر دیم به حالت قبلی  حالا مزیتش اینه که  بعد از ساختن اون ( که سعی می کنم اموزش کار با migration  در لاراول رو بزودی روی وبلاگ قرار بدم )  به راحتی با اجرای دستور php artisan migrate  در ترمینال  تغییرات رو توی بانک اطلاعاتی اعمال کنیم .

مزیت دوم از نظر من   آسان  بودن یاد گرفتن لاراول هست  اگر شما قبلا با هر یک از فریم ورک های php  کار کرده باشین در کمتر از ۱ هفته می تونید پروژتون رو با لاراول استارت بزنید .
برای این کار فقط نیاز هست به سایت laravel.com  یک سری بزنید و حالا اگر زبان انگلیسیتون زیاد خوب نیست به آدرس laravel.ir  مراجعه کنید .
برای دوستانی که تازه می خوان با فریم ورک کار کنن  هم این رو بگم که لاراول بهترین گزینه برای یاد گیری کار با فریم ورک ها هست .
مزیت سوم  سرعت بالای کد نویسی و توسعه پروژه با لاراول هست
هر چند توی این زمینه نوع معماری و خیلی چیز های دیگه تاثیر مستقیم دارن اما لاراول با امکاناتی که در اختیار شما قرار میده سرعت کد نویسی و توسعه پروژه رو خیلی بالا میبره .
مزیت چهارم آزاد بودن در انتخاب معماری و شیوه کد نویسی هست
یعنی چی ؟
لاراول شما را ملزم به استفاده از یک سیاست خاص برای کد نویسی  نمی کند و شما می توانبد هر طور که راحت تر هستین پروژتون رو طراحی کنید و این واقعا برای برنامه نویس ها لذت بخش هست .
مزیت پنجم اون که خیلی خوبه blade  هست
blade  یک template engine  بسیار قوی هست که کار کردن باهاش هم خیلی آسونه هم خیلی لذت بخش  که واقعا کمک خیلی خوبی برای برنامه نویس های php  توی حوزه UI  پروژه هاشون هست و لایه نمایشی رو توی  پروژه به خوبی مدیریت می کنه و دست شما رو توی پیاده سازی کاملا باز می زاره .
مزیت ششم Eloquent  هست
به عبارت بهتر Eloquent ORM   برای کار  با بانک اطلاعاتی هست اولین مزیتش اینه که شما می تونید با چندین بانک اطلاعاتی کار کنید و صرفا mysql  مطرح نیست
حالا مزیت خیلی بهترش ساده بودن کار با Eloquent    هست که حتی اگر درک خوبی از ساختار ORM و این داستانها نداشته باشید  می توانید از اون به خوبی استفده کنید و از مزیت هاش بهره مند بشید .
مزیت هفتم بازم از نظر خودم سیستم مسیر دهی یا همون Routing  هست که توی لاراول خیلی خیلی قوی هست نسبت به فریم ورک هایی که قبلا کار کردم خیلی قابلیت ها توی این Routing  هست که شما می توانید از اون به راحتی توی مسیر دهی ماژول های و صفحات تصاویر و فایل ها کار با api ها و غیره ازش استفاده بکنید
حالا وقتی لاراولی شدید ‌با کلاس redirect  و این سیستم مسیر دهی خیلی راحت می توانید پروژه رو مدیریت کنید .
خیلی مزیت های زیادی داره که من سعی کردم خلاصه بگم این سیستم مسیر دهی می تونید prefix (‍ پیشوند) ها رو جدا کرد و حتی  namespace ها رو هم همین طور که اگه عمری باقی باشه سعی می کنم توی یک آموزش جدا گانه این مطلب رو کامل توضیح بدم.

مزیت هشتم از نظر خودم اجرا شدن دستورات و کنترل لاراول توسط terminal  و دستورات آن می باشد مثلا یکی از مزایای همین امکان  آپدیت بودن کتاب خانه های موجود در پروژه به واسته composer  هست که لاراول کارها خیلی از اون استفاده می کنن و به واسطه تایپ کردن دستور آپدیت همیشه کتابخانه های پروژه ما اپدیت هستن

راستش مزیت هاش خیلی زیاد هست و اگر بخوام ادامه بدم حالا حالا ها باید بنویسم .
امیدوارم خواندن  این مطلب باعث این شده باشه که شما حد اقل برای یک بار بخواهید لاراول رو امتحان کنید ( کافیست یک بار امتحان کنید ).




آموزش نوشتن پرداخت آنلاین با لاراول(php laravel) به زبان ساده


خوب شاید برای خیلی از برنامه نویس هایی که تازه به لاراول کوچ کردن یا دوستانی که  برای اولین بار می خوان با زبان php  و فریم ورک محبوب laravel  برای پروژه هاشون  پرداخت انلاین بنویسن این مطلب مفید باشه و بتونه راهنماییشون بکنه .

 

بریم سر اصل مطلب مواد لازم :

برای انجام دادن پرداخت آنلاین و تایید کردن سفارشات مشتریان داخل سایت خودمون ما نیازمند یک کتابخانه از زبان php  هستیم به نام  Soap  که برای استفاده کردنش توی پروژه چند تا راه داریم :

اول : اینکه خودمون این کتابخونه رو  از اینجا  دانلود کنیم و توی کدمون از استفاده کنیم .

برای این کارم  کلاس رو داخل یکی از فولدر های پروژمون که برای نگه داری توابع و کلاس های کمکی هست کپی می کنیم این فولدر توی پروژه های من به اسم Helper  هست که حالا با استفاده از  namespace   اختصاصی خود فایل  می تونید توی پروژه ازش استفاده کنید .

 

روش دوم : نوشتن یک پکیج برای این کار

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

 

روش سوم : استفاده از پکیج های آماده

یک سری از همون دوست های مهربون پکیج های مورد نیاز ما رو برای این کار نوشتن که من به دوستانی که زمان براشون خیلی اهمیت داره ( مثل خودم ) ‍پیشنهاد می کنم از این پکیج ها استفاده بکنن که در ادامه به نام و ادرس پکیج مناسب اشاره می کنم .

 

دوستان گرامی پکیج مورد نظر رو از ادرس زیر دریافت کنید

 https://github.com/artisaninweb/laravel-soap

و طبق آموزش اون رو نصب کنید .

 

 

خوب حالا همه شرایط محیاست برای نوشت درگاه پرداخت آنلاین

نکته : من از استادان و سروران گرامی عذر خواهی می کنم اگه مطالب رو زیاد باز می کنم چون  احتمال می دم که برای  یک سری از دوستان این مطالب جدید باشه و کمکشون کنه .

تقریبا مکانیزم درگاه نوشت برای همه سیستم های بانکی مشابه هم هست من برای مثال درگاه زرین پال رو  توضیح میدم .

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

 

شما با ثبت نام توی زرین ‍پال یا هر درگاه بانکی دیگه یک سری اطلاعات برای شناسایی درگاهتون دریافت می کنید

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

 

ابتدا یک نمونه از وب سرویس درگاه بانکی مورد نظرمون ایجاد می کنیم

برای زیرین پال کد به شکل زیر می باشد

1

بعد از  ایجاد نمونه و  ارسال اطلاعات شناسای درگاه   و  سفارش   یک پاسخ از وب سرویس برای ما ارسال می شود که آیا مجوز لازم برای شروع پرداخت آنلاین را داریم یا خیر کد زیر مرحله چک کردن دسترسی را نمایش می دهد  :

 

1

امیدوارم این مطلب حد اقل به درد ۱ نفر بخوره همون برای من کافیه .