به نظرتون اینا یک پترن معماری نیستند تا یه معماری چند لایه ؟؟ معماری چند لایه یا سه لایه کلا بحثش با اینا فرق داره . مفاهیم جدایی هستند تا الان هم من فرم ورکی ندیدم که معماری سه لایه یا چند لایه باشه . اکثرشون از mvc که سیستم رو به سه بخش تقسیم میکنه نه سه لایه دیدم
خود mvc داخل فقط یک یا دو لایه از کل معماری سه لایه قرار میگیره
اینجا رو ببینید
مطمئنید دوست عزیز؟ تا جایی که اطلاع دارم از PHP استفاده شده و سرورشون هم لینوکس بوده. فریمورک اختصاصی هم دارن (اینطور که اعلام کردن). توی لینک زیر، cloob.com رو جستجو کنید:
http://browserspy.dk/webserver.php
Toofun/1.0.1 تا جایی که بررسی کردم، روی FreeBSD اجرا میشه و قطعاً NET. قابل اجرا روش نیست.
آخرین ویرایش به وسیله MMSHFE : سه شنبه 29 مرداد 1392 در 11:02 صبح
درسته شاید فریمورک اختصاصی دارند شاید هم دارند از فرم ورکی استفاده میکنند و اون رو با کلاسهایی که افزودن اختصاصی کردند .
آخرین ویرایش به وسیله godofphp : سه شنبه 29 مرداد 1392 در 11:12 صبح
فریمورک و سیستم مدیریت محتوای مادایکس
مادایکس (MODx) :
یک سیستم مدیریت محتوا و چارچوب نرمافزاری تحت وب متن باز و آزاد جهت نشر اطلاعات در وب و اینترانت است.
مادایکس تحت پروانه جیپیال توسط زبان برنامهنویسی پیاچپی و با استفاده از پایگاه داده مایاسکیوال ایجاد شده است.
این سیستم در سال ۲۰۰۷ برنده جایزه متعهدترین سیستم مدیریت محتوای متن باز از سوی موسسه پکت گردید
ویژگی ها :
مادایکس امکان جداسازی کامل محتوا (اچتیامال خام)، ظاهر و شمایل (استانداردهای سازگار با سی اس اس و جاوااسکریپت) و منطق (پیاچپی، اسنیپت) را می دهد.
همچنین قابلیتهای دیگر شامل:
نصاب تحت وب گرافیکی.
پشتیبانی از پیاچپی ۴.۳.۱۱ و بالاتر.
پشتیبانی از ویرایشگرهای WYSIWYG
بخش مدیریت بصورت کاملا چند مرورگری و چند سکویی برای مرورگرهایی از قبیل فایرفاکس، سافاری و اینترنت اکسپلورر در ویندوز، فایرفاکس و سافاری در مک او اس و فایرفاکس در لینوکس عمل می کند.
قابلیت نصب بر روی وب سرورهای IIS، آپاچی، لایتی و Zeus Web Server.
قابلیت توسعه توسط Amazon Elastic Compute Cloud.
پشتیبانی از همه کتابخانه های ایجکس از قبیل jQuery، MooTools، ExtJS، پیشنمونه و غیره.
تحلیلگر بازگشتی جهت عملیاتهای تو در تو.
کنترل کامل بر روی فرادادهها و ساختار نشانی وب جهت بهینهسازی برای موتورهای جستجو (SEO).
دارای هسته بصورت شی گرا.
سازگار با الگوی مدل-نما-کنترلگر.
سطوح دسترسی بر اساس نقش در بخش مدیریت.
امکان سفارشی کردن بخش مدیریت برای هر نوع نیازی.
تجارت الکترونیک از طریق Foxy Cart.
نسخههای مادایکس
از حدود سه سال پیش به علت محدودیتهایی در مادایکس (نسخه 0.9.6)، تیم مادایکس تصمیم به بازنویسی هسته آن جهت رفع نقایص و افزودن قابلیتهای جدید گرفت.
بعد از ارائه چندین نسخه آزمایشی از مادایکس جدید با نام 0.9.7، تصمیم جدیدی اتخاذ شد برای جداسازی این دو هسته.
نسخه فعلی آن زمان تکمیل و با نام MODx Evolution معرفی شد و نسخه جدید با نام MODx Revolution.
مادایکس Evolution:
این نسخه همانطور که بیان شد نتیجه تکمیل و توسعه نسخه اولیه مادایکس است. از خصوصیات این نسخه میتوان به موارد زیر اشاره کرد:
سازگاری به نسخههای ۴.۳.۱۱ و بالاتر پیاچپی.
افزونهها، منابع و کاربران خبره فراوان.
سادگی در منطق هسته آن جهت یادگیری و توسعه.
بخش مدیریت غیراستاندارد.
سهولت در یادگیری.
محدودیت ایجاد صفحات تا در حدود ۵۰۰۰ صفحه.
Evolution نسخه اصیل مادایکس است و از روش غیرپیچیدهای برای کدنویسی هسته آن استفاده شده و بنابراین یادگیری و توسعه آن ساده است.
این نسخه بالطبع کاربران بسیار زیادی دارد و با توجه به انجمنهای گفتگو و رفع اشکال مادایکس، نگرانیای از بابت محل مطرح کردن مشکلات و سوالات وجود ندارد.
اطلاعات بیشتر در ویکیپدیا
سایت سازنده این فریمورک
برای ساخت یک سایت اطلاع رسانی عمومی (شبیه سایت خبری یا مجله) که امکانات زیر رو داشته باشه
درج مطلب با درج عکس و تصویر شاخص و برچسب زدن
افزودن کاربر جدید برای درج مطلب با امکانات
افزودن مدیر برای سایت
دسته بندی مطالب
جستجوی پیشرفته بین مطالب
استفاده از مترجم گوگل یا بینگ برای ترجمه ی یک پست در سایت
ماژولار بودن و راحتی در توسعه
....
چه فرم ورکی رو پیشنهاد میکنید ؟
سایت کلوب و آپارات توسط یک شرکت طراحی شده اند. فکر کنم اسمش صبا بود.
از یکی از برنامه نویساش پرسیدم بهم گفت که با .net کار کردن و اینکه پلیر آپارات هم jwPlayer هستش.
حالا دوباره ازش سوال می پرسم.
اگه اشتباه کردم از دوستان عذر می خواهم
سلام دوستان
من یه بار سوالمو مطرح کردم ولی هنوز که هنوزه معنی و مفهوم درست فریمورک رو نفهمیدم،فریمورک یه جور قالبیه؟؟یا اینکه یه سری کلاسه؟؟؟کلا به چه دردی میخوره؟؟
با سلام
من با بعضی از کلاس های zend کار می کنم.
داخل سایتش یک نرم افزار به نام zend server معرفی کرده که پیشنهاد کرده با zend framework دانلودش کنیم.
می خواستم بدونم که این zend server چیه ؟ حجمش زیاد بود دانلودش نکردم
کاملا مشخص است که با php نوشته شده . سایت نوشته شده با Asp.Net یه سری کد های جاوا اسکریپت رو attache میکنه که معمولا میشه قهمید . یه همچین کد هایی هم معمولا تو سایت هست
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE2NDE3MzUyODZkZCl5rxzl6XM3HuVO3/LsfGoNHZOmu1Ph4s8S9HRpGTAF" />
</div>
<div class="aspNetHidden">
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEdAAOweGjt7Prdz7IRRyX44ieIfcmEyEFBfQzvitXch4kE7Oo 3Ux/pT2mBZyOxCDNTft5LTghGaHNPapGGspVZFwulGVberFZevHPsb 1mJm/zh4Q==" />
</div>
اگه نگاهی به معماری جدید MVC در ویکی پدیا بندازین، میبینید که ارتباط مستقیم Controller و View قطع شده و عملاً مشابه معماری سه لایه استاندارد شده. این لینکی که دادین هم فکر نمیکنم خیلی دقیق باشه چون توی MVC بخش Model عملاً کار همون Data Access Layer رو انجام میده. مگه اینکه بگیم DAL در اصل خود موتور MySQL هست و اینطوری بخوایم تفکیکشون کنیم که منطقی بنظر نمیرسه و در اینصورت برای مفسر PHP و Web Server هم باید یک لایه جداگانه درنظر بگیریم. اما اینکه بگیم 3 Tier یک Architecture هست و MVC یک Design Pattern رو کلاً قبول دارم و ازنظر منطقی، درسته که MVC در لایه UI قرار بگیره. البته این تفاوتها خیلی ظریف هستن و درک اینکه هر بخشی از کد در کجا قرار میگیره، نیازمند دقت زیادیه. برای مثال، اگه Queryها مستقیماً توی کدهای PHP نوشته میشن، پس در قسمت Model از MVC قرار دارن ولی اگه توی خود DB بیایم Stored Procedure بگذاریم و توی کدهای PHP صداش بزنیم، اونوقت محل برقراری ارتباط با دیتابیس به DAL مربوط میشه و در لایه Data از معماری سه لایه داریم کار میکنیم. درهرحال اون چیزی که مهمه اینه که اطلاق «معماری» به MVC یک اصطلاحه و خیلی دقیق نیست و در اصل همون الگوی طراحی درسته ولی چون اکثر برنامه ها در وب به لایه های دیگه مستقیماً کاری ندارن و همه کارها داره در لایه UI انجام میشه، بنابراین MVC عملاً حکم معماری برنامه رو پیدا میکنه. موفق باشید.
کسی با فرم ورک laravel کار کرده ؟
راستی میگن کدایگنایتر رو گروه ellislab داره ول میکنه و کدایگنایتر دیگه داره میمیره کم کم . درسته ؟
عجب !!! سه چهار سوال پرسیدم هیشکی ج نداده جواباشو خودم پیدا کردم از انجمن های دیگه ....
من خیلی با laravel کار نکردم ولی فرم ورک ساده ای هست بنظر من و کامل هست
من تا جایی که اطلاع دارم کلوب از ZEND استقاده میکنه...
فریم ورک به صورت ساده یه سری قابلیت هست که بر مبنای زبان اصلی نوشته شده.یعنی با خود پی اچ پی یه سری قابلیت نوشتن تا هر کسی از اول چرخ رو اختراع نکنه.مثلا سیستم login قدرتمندی که بیشتر فریم ورک ها دارن و برنامه نویس را از کار های تکراری که ممکن است دارای حفره باشه راحت می کنهکسی نیسن جواب سوال منو بدونه و منو شیرفهم کنه؟؟؟
امروز با فریمورک phalcon آشنا شدم که ظاهرا با سی نوشتع شده. تاکیدشون رو سرعت پروژههای تولید شده با این پروژه هست.
میخواستم نظرتون رو بدونم
ممنون از همکاریتون
لطفا اساتید نظزشون رو در مورد این فریمورک بگن
تو سایتش یه سری مقایسه با سایر فریم ورک ها قرار داده که در تمام مقایسه ها این فریم ورک بهترین عملکرد را داشته.
فقط به نظرم تنها ایرادی که داره اینه که برای استفاده از این فریم ورک باید حتما سرور داشته باشی !
من خودم چند جا غیر از سایت خودش بنچمارکهای چند تا فریمورک رو دیدم که phalcon اختلاف زیادی با بقیه داشت و خیلی بهتر بود.
ظاهرا میگن فقط فریمورک نیست بلکه یه ماژول واسه php نیز هست. هسته فریمورک که با سی نوشته و کامپایل شده حالا نمیدونم برنامهای هم که با استفاده از phalcon نوشته میشه به سی تبدیل و کامپایل میشه یا با مفسر php تفسیر میشه؟
نه برنامه های نوشته شده با اون به صورت php هستن. این چند تا اسکریپت نمونه رو ببین تا با طرز کارش آشنا بشی
PhalconEye
album-o-rama
blog-tutorial
vokuro
قسمت document سایت هم تمامی توضیحات برای کار با این فریم ورک رو ارایه داده
این فریمورک همونطور که دوستان اشاره کردن، بصورت Extension برای PHP هست و طبیعتاً روی هاست اشتراکی که دسترسی مدیریتی ندارین، قابل استفاده نیست. ضمناً فقط خود فریمورک با C نوشته شده و کدهای PHP کماکان بصورت تفسیری اجرا میشن. روش استفاده از اون هم مثل سایر افزونه های PHP هست (مثل GD و...) یعنی باید روی PHP نصب بشه و بعد بتونید از توابع و متدها و سایر امکاناتش استفاده کنید. طبیعتاً سرعت اجراش باید خیلی بالاتر از فریمورکهایی باشه که خودشون هم تفسیری هستن و با مفسر PHP اجرا میشن ولی با توجه به عدم امکان استفاده در تمام سرورها (به حجم سرورهای اشتراکی درمقابل سرورهای اختصاصی دقت کنید)، بنابراین خیلی نمیشه بطور عمومی ازش استفاده کرد. البته فکر میکنم این مشکل به مرور با نصب شدنش روی سرورهای بیشتر، حل بشه ولی نباید زیاد خوشبین باشین چون برنامه C هست و قاعدتاً همه کار میتونه بکنه و درنتیجه سرورها کمتر تمایل به نصبش دارن مگه اینکه مدتی بگذره و حسابی سورس کدش بررسی و بیخطر بودنش برای مدیران سرورها اثبات بشه تا اقدام به نصبش کنن. حقیقتش تا اینجا که بررسی کردم، بنظرم Yii و CodeIgniter در زمینه سرعت پیشتاز بودن (در بین فریمورکهای نوشته شده با PHP) و بین این دو، Yii امکانات بیشتری در اختیار میگذاره.
سلام
نکات جالبی اینجا دیدم، از همه ممنونم
من حدود 2 سال هست که با Yii کار میکنم، با دیگر فریمورک ها هم آشنا هستم، خیلی بررسی کردم که سراغ کدوم برم، و بالاخره Yii رو انتخاب کردم
یه بررسی اجمالی هم اینجا میگذارم، بلکه به درد دیگران بخوره، البته اگر عزیزان کمک کنند تا تکمیل و تصحیح بشه که بازم ممنون میشم
1- Zend framework معروف به ZF
یه چند ماهی میشه نسخه 2 اش اومده، نسخه 1 کند و سنگین بود، کتابخونه و کلاس های زیادی توش تعبیه شده بود، تو نسخه 2 خیلی سبکتر شده، ولی همچنان کلاس های زیادی رو در بر گرفته، معماریش کمی پیچیده است، مراحل روند کارش یکم دست و پا گیره، مزیت اصلیش همون کتابخونشه که البته عیبش هم هست، برای کارای مختلف کتابخونه خودش رو داره و غنیه، داکیمنتشن خوبی داره. در کل حرفه ای، کمی سنگین، کمی دست و پا گیر هست
2- Codeigniter
شاید بشه گفت عریان ترین فریمورک معروف PHP هست، کتابخونه بسیار کوچک و به همین دلیل سریع در اجرا، برای کارهای یکی دو هفتگی خوبه، کدنویسیش روونه و دست و پا گیر نیست، امکانات زیادی نداره، به نظرم به درد مبتدی ها بیشتر می خوره، در کل حرفه ای نیست(حالا!)، سبک و چابک، کد نویسی روونی داره
3- Symfony
از نظر کتابخونه خوبه، حجمش هم بد نیست، کد نویسی دست و پا گیری داره، خیلی قاعده منده، کانفیگش از بقیه سخت تره، داکیمنتش خوبه، در کل حرفه ای، زیاد چابک نیست، کد نویسی دست و پا گیر، یکم از حال و هوای PHP بدوره انگار
4- Yii
کتابخونه نسبتا خوبی داره ولی اگر وسیعترش کنند بد نیست!، حجمش خوبه، کد نویسیش روونه، زیاد قاعده مند نیست و دست برنامه نویس باز تره، کانفیگش خیلی آسونه، داکیومنتش خوبه، نسخه 2 اش در مرحله بتا هست و از ریشه بازنویسی شده و با نسخه های 1 کلا فرق میکنه، آینده داره و جزو بهترین هاست، حرفه ای و خیلی چابک، چیزی خارج از PHP نداره
5- Laravel
این یکی خواهر زاده Symfony هست، 90 درصد کتابخونه هاش مال Symfony هست، از خیلی از جهات شبیه داییشه!، ولی کد نویسیش و کانفیگش رو بردند تو مای های Yii، کتابخونه اش تو بعضی از حوزه ها خیلی حرفه ای هست مثل پایگاه داده اش، روونه، چیزی خارج از PHP نداره، من ازش خوشم میاد البته به سرعت Yii نمیرسه
6- Prado
این هم بابابزرگ Yii هست، قدیمیه و کلا ارزش بررسی نداره :)
آخرین ویرایش به وسیله rezakho : دوشنبه 29 مهر 1392 در 02:39 صبح
من با Yii و CI و Zend کار کردم.
سلام.
داشتم فريم ورك fuel رو بررسي مي كردم ديدم تو كامنتاش نوشته:
* @license http://kohanaphp.com/license
يعني كلاساش مال فريم ورك kohana هست؟؟؟
بعد من ديدم تو laravel هم چند تا كلاس از symfony داره دقيقا چطوريه؟
از رو هم نوشتن عايا؟
من قبلا با فریمورک codeigniter کار میکردم ، واقعا فریمورک خوبیه و دیدگاه خوبی نسبت به MVC میده و برای ساخت وبلاگ خوبه ولی برای پروژه های سنگین تر نمیشه ازش استفاده کرد.
به نظرتون الان من شروع کنم با کدوم فریم ورک جدیدی کار کنم ؟
پروژه هایی که من معمولا انجام میدن بیشتر به سرعت لود و کم کردن حجم زیاد کد و schadule ربط دارند.
درمورد Yii تحقیق کنید. سادگی CI و قدرت و انعطاف Symfony و Prado رو با هم به نوعی ترکیب کرده و تقریباً میتونه به امکانات هر فریمورک دیگه مثل Zend و... هم دسترسی پیدا کنه. Performance زیادی هم داره. لینک
سلام جناب مهندس شهرکی نظرتون در مورد cakephp چیه؟
Cake هم فریمورک خوبیه تا جایی که بررسیهای اولیه روش داشتم ولی حقیقتش خودم باهاش زیاد کار نکردم و نمیتونم نظر قطعی درموردش بدم.
با عرض سلام و خسته نباشید .
مطالب این تاپیک و چند تا تاپیک دیگه در چند سایت دیگر و خوندم اما سوالی من پاسخ نگرفت .
بنده پی اچ پی رو جدیدا یاد گرفتم و البته یادگیری بنده هم بصورت پروژه ای بوده مثلا ساخت یک فروشگاه و سیستم دانشجو و ... .
جدیدا روی اسکریپت نویسی و ساخت مدیریت محتوا می خوام کار کنم . مثلا اسکریپتهایی مثل فریر و مدیریت کاربر و ... .
اما با توجه به نیازم و آینده می خواستم پلاگین رو هم در سیستمم قرار بدم . طی جستجویی که کردم روش هوک و فریمورک رو پیشنهاد داند.
با توجه به سابقه ای که در سی شارپ داشتم اومدم پیه فریمورک و دیدم فریمورکهای پی اچ پی هم ابزارهای خوبی هستند و در زمینه کدنویسی و زمان کمک برنامه نویس .
برای همین منظور می خوام در این زمینه هم کار کنم و روی یک فریمورک مانور بدم و کار کنم تا کدنویسی راحتتر باشه .
بنده با مفهوم فریمورک در پی اچ پی آشنا هستم اما در انتخاب یک فریمورک دچار مشکل شدم.
فریمورک زند طبق تحقیقی و بازخورد کاربرا گویا پیچیده هست به لحاظ یادگیری.... پس این رو می زاریم کنار.
در بین فریمورک های کیک و yii و ci کدوم رو انتخاب می کنید با توجه به این موارد :
1- بنده فک نکنم پروژه هایی در سطح کلوب و ... داشته باشم نهایت پروژه هام در حد متوسط و مبتدی هست .
2- منابع آموزش فارسی دارا باشه . ( البته برای ci و کیک , yii هست )
3- در توسعه اسکریپتهای مانند فریر و مدیریت محتواهای کم حجم و ... هم کمک کنه .
4- در ایران پاسخگو باشه ( آمار جهانی مهم نیست - هاست و تحریم )
5- متن باز باشه و رایگان .
6- امکان کار بر روی مدیریت محتواهای مختلف رو هم داشته باشه .
دوست عزیز همه چیز تو php ابن سورس هست. مگه اینکه خود یارو کد کرده باشه... و از لحاظ آمزش همه ی فریم ورک ها آموزش خوبی دارند.
زند که کلا خیلی سنگینه برای یک مبتدی.
شما قبل از شروع فریم ورک باید به شی گرایی و MVC مسلط باشی.
بعد برای شروع می تونی از CI شروع کنی بعد روی فریم ورکی مثل لاراول یا yii یا هر فریم ورک که دوست داشتی بری.
اگه از لحاظ منابع فارسی هم نگاه کنی که yii,CI,cakephp منابع آموزشی خوبی دارند.
اگه در سطح مبتدی هست که همون CI جواب میده.
با توجه به اینکه فریمورک کار کردن باعث عادت و تعصب می شه فریمورک های ci و ... در آینده لنگ نذارن .
بهتره از فریمورکهای بزرگ و درعین حال سریع استفاده کنید مثل Yii و Laravel و Phalcon و امثال اونها. البته CI رو هم میشه با کمی اغماض، یک فریمورک بزرگ محسوب کرد ولی توصیه میکنم از فریمورکهایی استفاده کنید که امتحانشون رو توی پروژه های بزرگ پس دادن. پیشنهاد من Yii هست چون یادگیریش به سرعت یادگیری CI هست و Performance اون هم در پروژه های بزرگ، بالاست (لینک).
سلام، خسته نباشید
اگر امکانش هست، دلایل استفاده از Framework را بگوید ... و آیا یک برنامه نویس حرفه ای PHP باید به Framework های آماده مسلط باشه ؟؟؟
خیلی ممنون
دلیل خاصی نداره. منظورم اینه که بدون فریمورک هم میتونید همه کار انجام بدین ولی وقتی یک برنامه نویس از یک حدی پیشرفته تر و حرفه ایتر میشه، نیاز نیست توی هر پروژه برای مباحث ابتدایی مثل کار با دیتابیس و... دوباره بیاد از اول کدنویسی کنه. همچنین توی کارهای تیمی، نیاز به یک استاندارد مشترک برای کدنویسی هست تا افراد بتونن هماهنگ با هم، کدها رو تولید کنن. این موارد، میشه مزایایی که یک فریمورک در اختیارتون میگذاره.