انتشار اولین مطلب در Symphony – قسمت ۱

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

ادامه خواندن انتشار اولین مطلب در Symphony – قسمت ۱

پیاده سازی صفحات bundle و مسیردهی آنها

در مقاله‌ قبل ( ساخت bundle جدید در Symfony ) با استفاده از دستورات  console به راحتی یک bundle جدید ایجاد کردیم، با توجه به اینکه در قسمت سوم مقاله ( بخش view در symfony ) در رابطه با view صحبت کرده بودیم و ساختار کلی view  را پیاده سازی کردیم در این قسمت سایر بخش‌های view و صفحات و جزئیات آن را پیاده سازی می‌کنیم.

ادامه خواندن پیاده سازی صفحات bundle و مسیردهی آنها

ساخت bundle جدید در Symfony

در مقاله قبل در رابطه با ساختار viewها در سیمفونی صحبت کردیم و یک قالب وبلاگی را مطابق Twig template engine پیاده سازی کردیم. با توجه به اینکه قصد داریم در این پروژه آزمایشی صرفا یکسری مطالب را اضافه کنیم یک bundle جدید به نام BlogBundle ایجاد می‌کنم و ادامه کار را با هم پیش میبریم.

ادامه خواندن ساخت bundle جدید در Symfony

بخش view در symfony

در مقاله قبل در رابطه با مقدمات و آشنایی اولیه با ساختار سیمفونی صحبت کردم در این مقاله بخش view  آن را با هم بررسی می‌کنیم.

Symfony برای مدیریت قالب‌ها از یک Template Engine به نام Twig استفاده می‌کند که کار مدیریت و پیاده سازی ساختارهای قالب را به طرز فوق العاده ای بهتر و آسانتر کرده است. اگر مقاله قبل را خوانده باشید متوجه می‌شوید که TwigBundle در ابتدا در فایل AppKernel  لود می‌شود.

ادامه خواندن بخش view در symfony

آشنایی اولیه با فریمورک Symfony

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

Symfony structure version 3.3
ادامه خواندن آشنایی اولیه با فریمورک Symfony

سلام Symfony

با توجه به اینکه من قبلا با لاراول شروع به کار کردم و از آن لذت زیادی بردم و از آنجایی که میدونستم که لاراول بسیاری از بخش‌های خودش رو از Symfony دریافت می‌کنه تمایل زیادی داشتم که کار با سیمفونی رو امتحان کنم تا ببینم چقدر میتونم ازش لذت ببرم! در این مقاله با هم سیمفونی رو نصب می‌کنیم و یکسری مقدمات اولیه را اینجا آرشیو میکنم 🙂 

ادامه خواندن سلام Symfony

پکیج‌های کاربردی لاراول ( ۱ )

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

۱- لاراتراست (Laratrust)

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

در این بین پکیج‌های مختلفی هستند به نام‌های Laravel ACL و laratrust  اشاره کرد که من با لاراتراست و Spatie تجربه کار را دارم.

ادامه خواندن پکیج‌های کاربردی لاراول ( ۱ )

gitflow راهکاری فوق العاده برای مدیریت پروژه

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

اما موضوعی که در این مقاله میخواهم در رابطه با آن صحبت کنم، تعریف یک مدل یا Road map برای مدیریت یک پروژه روی ورژن کنترلی مثل گیت است.

اگر قبلا تجربه کار کردن به صورت تیم را داشته باشید حتما به مشکلاتی همچون Merge Conflict و تداخل و همزمانی توسعه ویژگی‌ها و… برخورد کردید که گاهی وقتها وقت زیادی رو از ما میگیره تا برنچ‌های مختلف را با هم ادغام و در نهایت Deploy کنیم. 

Git Flow  یک ‌Branch Model است یا بهتره بگم یه مفهوم برای مدیریت برنچ‌ها و تیم توسعه است که بدون مشکل بتوانیم پروژه‌هایمان را توسعه دهیم و به صورت همزمان بتوانیم Feature هایی که میخواهیم را به بخش‌های مختلف پروژه اضافه کنیم بدون اینکه استرسی بابت مرج و لانچ بخش‌های مختلف داشته باشیم.

ادامه خواندن gitflow راهکاری فوق العاده برای مدیریت پروژه

از تجربیات کاریم می‌نویسم

در این نوشته از تجربیات کاریم می‌نویسم و قصد دارم  مواردی را که حاصل چند سال کار کردن با شرکتها و تیم های مختلف است را به اشتراک بگذارم شاید برای برخی از دوستان مفید باشد.

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

work with client

دریافت پروژه از مشتری :

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

تجربیاتی زیادی در این مدت بدست آوردم که به برخی از آنها اشاره می‌کنم.

اگر بیشتر از چیزی که مشتری نیاز دارد امکاناتی را به پروژه اضافه نمائید و بیشتر از حد معمول برای مشتری وقت بگذارید (در هر زمانی از شبانه‌روز پاسخگو باشید) این احتمال وجود دارد مورد سو استفاده قرار بگیرید و درخواستهایی خارج از قرارداد ایجاد شود.[ پیشنهاد میکنم برای خود ساعت کاری تعریف کنید و در خارج از ساعات کاری به هیچ تماس کاری پاسخ ندهید مگر اینکه قبلا به خاطر اهمیت پروژه توافقی صورت گرفته باشد. ]

ادامه خواندن از تجربیات کاریم می‌نویسم

خطایابی و Debug کردن برنامه‌ها در php

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

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

ادامه خواندن خطایابی و Debug کردن برنامه‌ها در php