من از سال 2012 در هند تیم های Core PHP و Framework PHP ایجاد می کنم. تجربه من در اینجا:
1) برنامه های کاربردی وب کوچک تا متوسط: از یک چارچوب PHP استفاده کنید
برنامه های کاربردی وب کوچک تا متوسط معمولاً دارای اهداف خاصی هستند مانند:
مقایسه قیمت ها و نشان دادن بهترین قیمت
نمایش محصولات مختلف و امکان جستجوی کاربران در آنها
برای برخی از خدمات ثبت نام کنید و به کاربران اجازه دهید دوره ها و محصولات را دانلود کنند
برای اتاق ها یا تاکسی ها یا موارد مشابه رزرو کنید
و غیره.
تعداد کاربران در این اپلیکیشن ها حدود 100 تا 1000 نفر در روز خواهد بود.
این معیارها برای حدود 90 درصد از همه برنامه های کاربردی وب اعمال می شود.
برای آنها می توانید از فریم ورک پی اچ پی استفاده کنید. من یکی از موارد زیر را پیشنهاد می کنم:
لاراول: مدرن ترین فریم ورک پی اچ پی. این برنامه در سال 2011 ایجاد شد و از آن زمان تاکنون شاهد استقبال باورنکردنی توسط توسعه دهندگان وب بوده است.
Symfony: این همان چیزی است که شما آن را چارچوب وب در سطح سازمانی می نامید. بیشتر توسط بخش های فناوری اطلاعات شرکت های متوسط و بزرگ استفاده می شود که پلتفرم های کوچک و متوسط را برای مشتریان خود یا سایر بخش های خود (بازاریابی، فروش، منابع انسانی، حسابداری و غیره) می سازند.
Zend: یکی دیگر از فریم ورک های سطح سازمانی است که سال هاست امتحان و آزمایش شده است.
پروژه های جدید معمولا با لاراول شروع می شوند. اما بیشتر پروژههای گذشته در Symfony یا Zend شروع شدهاند، بنابراین شما فرصتهای زیادی را در اینجا خواهید دید.
فریمورک های دیگری مانند CodeIgniter، CakePHP و YII نیز وجود دارد. آنها دیگر زیاد استفاده نمی شوند. اما هنوز هم، توسعه دهندگان وب هستند که از این فناوری ها استفاده می کنند.
2) حداکثر انعطاف پذیری یا حداکثر سفارشی سازی مورد نیاز: از Core PHP استفاده کنید
فرض کنید در حال ساختن یک اپلیکیشن وب هستید که قصد دارید مجوز آن را به شرکت های دیگر بدهید. مانند ERP، CRM، نرم افزار حساب یا موارد مشابه. سپس از Core PHP یا PHP خالص، همانطور که شما آن را نامیده اید، استفاده کنید.
دلیل این امر این است که شما می خواهید برنامه خود را همانطور که می خواهید بسازید.
مثال تصویری: آن را با یک تصویر مقایسه کنید. می توانید آنچه را که نیاز دارید از ابتدا ترسیم کنید و هر آنچه را که می خواهید روی آن تصویر بسازید. در یک چارچوب، برخی از افراد، جدول و پسزمینهها از قبل از قبل تعریف شدهاند، که به شما کمکی نمیکند، زیرا برنامه شما این است که سریع تصویر را ترسیم نکنید، بلکه مطابق با خواستههای خود هستید.
به خصوص اگر گهگاه در حال ساخت ماژول های جدید هستید، ممکن است نخواهید چارچوبی داشته باشید که «شما را عقب نگه می دارد» یا قابلیت هایی را ارائه می دهد که ممکن است به آن ها نیاز نداشته باشید.
مزایا و معایب هر رویکرد
1) چارچوب
طرفداران:
سریعتر بسازید: مزیت بزرگ این است که می توانید سریعتر بسازید. در دنیایی که میخواهید در پول خود صرفهجویی کنید و باید سریع به نتیجه برسید، این رویکرد منطقی است. بسیاری از قابلیتها، مانند فرمها، ویژگیهای امنیتی در حال حاضر در دسترس هستند و میتوان آنها را به سرعت تعبیه کرد.
برای توسعه دهندگان جوان ساده تر: یک توسعه دهنده جوان ممکن است در هنگام ساخت یک برنامه وب جدید اشتباهات زیادی مرتکب شود (نقاشی یک تصویر جدید از ابتدا)، اما با استفاده از یک چارچوب PHP، می تواند به بهترین شیوه ها تکیه کند.
ایمنتر ساختن: برنامههای کاربردی وب سازمانی و سایر برنامهها قرار است ایمن باشند. این ویژگی های امنیتی در لاراول و سایر فناوری ها تعبیه شده است.
معایب:
انعطافپذیری کمتر: گاهی اوقات نمیتوانید کارها را از ابتدا انجام دهید، بلکه باید بر اساس قابلیتهایی که ممکن است در آن پروژه خاص مورد نیاز نباشند، استفاده کنید.
سربار: این نیز به اولین نقطه انعطاف پذیری متصل می شود. ممکن است به همه چیزهایی که با چارچوب ارائه می شود نیاز نداشته باشید.
2) PHP خالص
طرفداران:
انعطاف پذیری: هر آنچه را که می خواهید بسازید. یک چارچوب PHP جدید بسازید که در صورت نیاز می توانید از آن برای پروژه های دیگر استفاده کنید.
شما در کنترل هستید: شما فرمان را در اختیار دارید. برنامه را به همان سرعتی که می خواهید بسازید، مقیاس پذیری عالی را در آن ایجاد کنید.
معایب:
زمان بیشتری برای توسعه مورد نیاز است: برای برنامه های کوچکتر، زمان توسعه ممکن است مانند چارچوب ها باشد. اما وقتی صحبت از برنامه های متوسط تا بزرگ می شود، زمان بسیار بیشتری برای توسعه مورد نیاز است.
ساختار باید دنبال شود: در لاراول و فناوریهای مشابه، در حال حاضر بهترین مسیری وجود دارد که میتوانید در توسعه وب دنبال کنید. این مورد برای PHP خالص نیست. در اینجا شما باید شیوه های توسعه وب را که داخلی نیستند دنبال کنید. برای پیروی از آنها باید نظم و انضباط داشته باشید. در غیر این صورت با کدهای به اصطلاح اسپاگتی مواجه خواهید شد که PHP برای آن شهرت خوبی ندارد.
موارد دیگری که باید در نظر بگیرید
برای مدت طولانی، PHP به عنوان یک فناوری منسوخ در نظر گرفته می شد. به خصوص Ruby on Rails به عنوان یک جایگزین عالی در نظر گرفته شد.
به خصوص بحث کد اسپاگتی از قبل، یکی از دلایلی بود که بسیاری از شرکتها از استفاده از این فناوری خودداری کردند.
با لاراول این تصور تغییر کرد. نرخ پذیرش چندین برابر افزایش یافته است. به خصوص توسعه دهندگان Zend به لاراول تغییر کردند.
اکثر پروژه ها با یکی از چارچوب ها شروع می شوند. به ندرت اتفاق می افتد که فقط از PHP استفاده شود.
اما: وقتی صحبت از راهحلهای وب میشود که دارای مجوز برای شرکتهای دیگر هستند (یا نرمافزارهای فشردهسازی، همانطور که شما آن را مینامید)، این راهحلها اغلب با PHP ساخته میشوند.
پی اچ پی در چند سال اخیر رواج یافته است
در اینجا چند فناوری که بر روی چارچوب های PHP یا PHP ساخته شده اند:
Shopware: یک سیستم فروشگاه آنلاین است که به طور گسترده در شرکت های متوسط در اروپای مرکزی استفاده می شود.
Magento: این سیستم فروشگاهی مبتنی بر Zend است و توسط شرکت های متوسط در سراسر جهان استفاده می شود.
وردپرس: چه کسی وردپرس را نمی داند؟ این پرکاربردترین سیستم مدیریت محتوا در جهان است. نمونه های دیگر عبارتند از TYPO3 , Drupal و Contao .
تعداد زیادی راه حل سفارشی وب: در این پست چندین بار به آن اشاره شده است. راه حل های نرم افزاری ERP، CRM، حسابداری، بازاریابی و فروش بسیاری وجود دارد که با PHP ساخته شده اند.
نتیجه
اگر در حال ساختن راه حل های سفارشی برای مشتریان خود هستید، مانند یک مشتری سازمانی، که به یک برنامه کاربردی وب برای بهبود فرآیندهای خود نیاز دارد یا یک راه حل نرم افزاری برای بخش بازاریابی خود (ورود به هر بخش دیگری)، از یک چارچوب PHP استفاده کنید. زیرا توسعه سریعتر خواهد بود (که معمولاً مورد نیاز این نوع مشتریان است) و همچنین توسعه آن ارزانتر خواهد بود (که به فرآیند فروش کمک می کند).
اگر در حال ساخت راه حلی برای خود هستید که می خواهید مجوز آن را به شرکت های دیگر یا کاربران وب بدهید. سپس این را از خود بپرسید: آیا این یک راه حل وب استانداردتر است، مانند یک پلت فرم آنلاین برای مقایسه قیمت ها، یا راه حل استاندارد دیگری. یا آیا شما نیاز به مجموعه ای بسیار خاص از عملکردها، مانند نوع سیستم CRM خود دارید؟ سپس PHP هسته ممکن است راه حل بهتری باشد.
تجربه شما چیست؟