بهزاد شعبانی

توسعه دهنده پی‌اچ‌پی و لاراول

آرشیو

Command Bus در لاراول ۵

Feb/14/2015

مدتی بود به خاطر درگیری‌ها و مشکلاتی که داشتم موفق یه نوشتن پست توی این دو سه هفته نشدم. امروز قصد دارم در مورد Command Bus براتون صحبت کنم.

مدتیه که Command Bus مورد توجه تعداد زیادی از توسعه‌دهندگان php قرار گرفته و مطالب زیادی در موردش نوشته شده. در جلسه پنجم لاراتاکز هم من در مورد Command Bus در لاراول ۵ و درمورد امکاناتی که لاراول در این زمینه در اختیارمون می‌ذاره صحبت کردم. اما Command Bus دقیقا چیه؟

Command Bus یک روش و دیدگاه برای پیاده سازه لایه Application در Domain Driven Design و یا اجرای معماری Hexagonical هست. در واقع با استفاده از این روش، لاجیک و منطق برنامه‌تون به وظایف کوچیک‌تر که قابلیت استفاده مجدد دارند، شکسته می‌شه. این کار باعث می‌شه کدهاتون خواناتر و منظم‌تر بشه و راحت‌تر تست بشه. البته باید این نکته رو در نظر داشته باشید که برای کسانی که با این روش آشنایی ندارن، و کد شما رو می‌خونن، Command Bus خیلی گیج‌کننده خواهد بود. بنابرین بهتره که همیشه کدهای خودتون رو داکیومنت کنید.

در ادامه مفصل‌تر در مورد Command Bus و استفاده اون در لاراول ۵ صحبت می‌کنیم.

کد نویسی و ری‌فکتورینگ در phpStorm 8

Jan/30/2015

در اولین پست از سری پست‌های phpStorm در مورد شخصی سازی این IDE قدرتمند صحبت کردیم، اینکه چطور ظاهرش رو ساده‌تر کنیم، رنگ‌ها و فونت کد هایلاتر برنامه رو عوض کنیم و چطور کلیدهای میانبر رو شخصی سازی کنیم.

اما امروز قصد دارم در این پست در مورد کدنویسی و ری‌فکتورینگ در phpStorm صحبت کنم؛ چطوری می‌تونیم از phpStorm بهترین استفاده رو در جهت افزایش سرعت توسعه نرم‌افزار انجام بدیم، و با ابزارهایی که مارو تو این مسیر کمک می‌کنن آشنا بشیم.

پس اگر دوست دارید سریع‌تر کد بزنید این پست رو بخونید.

ساختار فولدرها در لاراول ۵

Jan/23/2015

تیلور آتول (Taylor Otwell) مرداد ۹۳ (August 2014) شروع به توسعه نسخه ۴.۳ لاراول کرد. اما به مرور زمان تغییرات زیادی روی لاراول اعمال شد، به طوری که به راحتی نمی‌شد از لاراول ۴.۲ به ورژن جدید مایگریت (Migrate) کرد. به همین دلیل تصمیم گرفتن یک ورژن اصلی یعنی ورژن ۵.۰ رو منتشر کنن.

همونطور که گفتم لاراول ۵ نسبت به ۴.۲ تغیرات زیادی کرد، از جمله این تغییرات، تغییر در ساختار فولدرهای اپلیکیشن، جایگزینی فیلترها با Middlewares، اضافه کردن Form Request، اضافه کردن Method Injection و خیلی تغییرات دیگه که در ادامه درموردشون بحث می‌کنیم.

تغییرات به وجود اومده نسبتا گسترده‌ان که مسلما توی یه پست نمی‌شه همشون رو پوشش داد، به همین خاطر توی چند پست مجزا این تغییرات رو پوشش می‌دم. امروز در مورد ساختار جدید فولدر‌های اپلیکیش و تغییرات کلی در لاراول ۵ صحبت می‌کنیم.

شخصی سازی phpStorm 8

Jan/22/2015

ادیتور یا IDE یکی از مهمترین ابزار هر دولوپریه، استفاده از ادیتور خوب می‌تونه به سرعت کار کمک به سزایی بکنه، حدود ۶ سال پیش من برای کد زدن php از PDT که یه افزونه برای Eclipse بود استفاده می‌کردم. بعد از اون حدود ۵ سال پیش با Zend Studio آشنا شدم که نسبت به PDT خیلی بهتر بود و امکانات بیشتری داشت. یکی از مشکلات این ادیتورها سنگین بودنشون بود، خیلی وقتا برای انجام یه کار خاص، بین نوارهای ابزارش گم می‌شدم و مدتی طول می‌کشید تا بین اون ابزارها چیزی که می‌خواستم رو پیدا کنم. مسلما می‌شد این نوار ابزارها رو کاستومایز یا شخصی سازی کرد و من این کار رو میکردم، اما همچنان محیط شلوغ و سنگین بود.

یه مدت بعد با Sublime Text آشنا شدم و سری ویدئوهای Tuts Plus دنبال کردم و سرعت کارم رو دو برابر کرد. Sublime Text ادیتور خیلی سریع و سبکیه ولی از طرفی خیلی از امکانات رو نداره. بعد از Sublime Text با ادیتوری آشنا شدم که منو به خودش مجذوب کرد، به همین خاطر امروز می‌خوام در مورد IDE قدرتمند php شرکت JetBrains به نام phpStorm صحبت کنم، امکاناتش رو با هم مرور کنیم و اینکه چه جوری بهترین استفاده رو ازش ببریم. میشه گفت phpStorm مخلوطی از امکانات Sublime Text (که باعث افزایش سرعت کار میشن) و ابزارهای قدرتمنده. البته phpStorm برنامه سنگینی نسبت به Sumblime Text هست اما امکاناتی که برای افزایش سرعت توسعه نرم‌افزار ارائه میده به سنگینی و بالا اومدن کندترش نسبت به Sublime Text می‌چربه.

یکی از نکات منفی phpStorm محیط شلوغ و گیج‌کننده‌ش هست، که به راحتی میشه اون رو به محیط ساده مثل Sublime Text تغییر داد

سلام دنیا

Jan/21/2015

سلام، بالاخره بعد از حدود چهار سال (شاید هم بیشتر) تصمیمم مبنی بر درست کردن یه وبلاگ رو عملی کردم. این وبلاگ با Wardrobe پیاده سازی شده، که خودش بر پایه Laravel 4.1 هست. اگر وقت اضافه داشته باشم حتما روش کار خواهم کرد و تغییراتی درش ایجاد کنم. می‌تونید این تغییرات رو توی گیت‌هابم مشاهده کنید.

از همه این حرفا بگذریم، هدف ایجاد این وبلاگ، آموزش و به اشتراک گذاری تجربیاتم در توسعه پی‌اچ‌پی و لاراول، هست. سعی بر اینه که هرچند روز یه بار، یه پست جدید بذارم؛ پست‌هایی در مورد روش‌های توسعه نرم‌افزار، معماری‌های نرم‌افزار، ابزارهای کمکی برای توسعه نرم‌افزار و ...

امیدوارم این بلاگ براتون مفید باشه