-
نقل قول: Sarkesh فریمورک PHP ایرانی
نیم اسپیسها به شاخه addns اضافه شد.
بعد از مچ کردن با شاخه master میشه به کلاس های کتابخونه ای از دامنه core\cls و برای استفاده از کنترلهای پیش ساخته از core\control و برای استفاده از پلاگینهای سیستمی از core\plugin و برای دسترسی به پلاگینهای افزوده شده به هسته از addons\pluginname استفاده کنید.
شاخه addns فکر کنم امروز یا فردا با شاخه اصلی مچ میشه.همچنین پلاگینهای سیستمی در آینده به مکان جدیدی منتقل میشن.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
namespace ها به صورت کامل پیاده سازی شد. تو این چند روزه کل سورس ها رو ویرایش کردم و کلی پایداری فریمورک اومد پایین. ولی امروز دیگه تقریبا کار تموم شد و شاخه addns پروژه روی شاخه اصلی(master) مچ شد.
اگه باگی چیزی پیدا کردید روی گیت هاب گزارش بدید که رفعشون کنم.
به دلیل مشکلاتی که برای مخزن روی گیت هاب پیش اومده بود مجبور شدم force push کنم که یه سری از pull request هایی که قبلا اعمال شدن از بین رفتن. دوستانی که روی پروژه pull request ارسال کردند لطفا درخواستتون رو دوباره بفرستید که دوباره اعمال بشه.
کسایی هم که فورک گرفتن. چون تغییرات خیلی زیادی روی برنامه داده شده پیشنهاد میکنم مخزن محلیشون رو آپدیت کنن که بعدا برای pull request های ارسالی مشکلی پیش نیاد.
روند نامگذاری به شکل زیر هست.
تمام پلاگین ها از core\plugin\PLUGIN_NAME پیروی میکنن.
کلاس های کتابخانه ای هم از core\cls\TYPE\CLASSNAME استفاده میکنن . که TYPE زیر شاخه و CLASSNAME نام کلاس رو مشخص میکنه.
برای مثال:
core\plugin\users
core\cls\db\mysql
core\cls\browser\page
در آخر هم یه نکته ای اضافه کنم که نام پلاگین core به administrator تغییر پیدا کرد.
در هفته آینده هیچ تغییری روی مخزن انجام نمیشه و تمام pull request ها بعد از اطمینان از کامل بودن روز جمعه آینده روی مخزن اعمال میشن.
دوست دارم ببینم تا هفته آینده چند تا pull request داریم!؟
منتظر فیدبک هاتون هستم :لبخندساده:
-
نقل قول: Sarkesh فریمورک PHP ایرانی
اینم یه اسکرین شات از محیط مدیریت فریمورک. البته فعلا پیش نمایشه و احتمال تغییرات زیاده.
http://s5.picofile.com/file/8141481442/04.png
-
نقل قول: Sarkesh فریمورک PHP ایرانی
میخوام برای تهیه مستندات تا زمانی که نسخه اولیه آماده میشه یه ویکی داشته باشم که دوستان دیگه هم بتونن در تولید داکیومنت ها هم همکاری کنن ولی متاسفانه wiki روی سایت github قابلیت pull request رو نداره. به نظر شما کدوم cms برای محتواهای ویکی مناسبتره.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
mediawiki امتحانشو همه جا پس داده
-
نقل قول: Sarkesh فریمورک PHP ایرانی
نقل قول:
نوشته شده توسط
DR.HTML
mediawiki امتحانشو همه جا پس داده
گذینه خوبیه فقط خیلی پیشرفتس. یه چیز خیلی ساده میخوام.
اینم موقتیه چون اولین کاری که بعد از انتشار نسخه اولیه انجام میدم نوشتن پلاگین ها برای راه اندازی وب سایت اصلی هست. مثل ویکی و انتشار خبر و پرسش و پاسخ و نظرسنجی و ...
-
نقل قول: Sarkesh فریمورک PHP ایرانی
از امروز سعی میکنم تا دو هفته آینده روی یه قسمت جدید از فریمورک کار کنم که نصب فریمورک شبیه جوملا و ... به صورت ویزارد انجام بشه.
برای همین کار به یه قالب تک ستونه نیاز دارم که عملیات نصب فریمورک در اون قالب انجام بشه. دوستان عزیز کسی هست بتونه این کار رو انجام بده؟
البته یه قالب ساده و ترجیها بوت استرپی مد نظرم هست.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
تا شب يه قالب براتون ميفرستم
-
نقل قول: Sarkesh فریمورک PHP ایرانی
نقل قول:
نوشته شده توسط
DR.HTML
تا شب يه قالب براتون ميفرستم
خیلی خیلی ممنونم.
اون قالب ۴۰۴ هم مرچ شد!
میخواستم نظرتون رو درباره قالب بخش مدیریت فریمورک بدونم.
از sarkesh.org با نام کاربری و کلمه عبور test وارد بشید بعد رو دکمه admin panel کلیک کنید تا قالب رو ببینید.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
بله كلاس ftp هم ديدم كه مرج كرديد باتشكر
-
نقل قول: Sarkesh فریمورک PHP ایرانی
امروز یه مقداری رو قسمت رجیستر کاربران کار کردم و uml هاش رو آماده کردم.
به نظر دوستان غیر از namespace ها چه چیزای دیگه ای باید به فریمورک اضافه بشه؟
----------------------------------------------------
یه گلگی هم از آقای شهرکی دارم که قول دادن در توسعه این فریمورک کمک کنن ولی فکر کنم پکیج ساختن همه چیزو از یادشون برده؟!
باور کنید منم نه برنامه نویسم و نه هدفم کسب درآمد از این کاره. فقط میخوام تو دنیای متن باز یه برنامه با کاربرد جهانی داشته باشیم. الان نگا کنیم اکثر توسعه دهنده های متن باز ایرانی تو کار نوشتن تقویم شمسی هستند که فقط مصرف داخلی داره و تک و توکی پیدا میشه که برنامهای غیر از این مصارف رو توسعه بدن.
منم اگه هدفم کسب درآمد بود حاصل کارم رو فی سبیل الله رو گیت هاب نمیزاشتم.
یه دوستی پیام فرستاده بود: "راستشو بگو چی تو سرته؟ من که میدونم میخوای بعد از اینکه بقیه رو گول زدی و کارتو تکمیل کردی فلنگو ببندی. فایلاتم از رو این سایته برداری."
حال من واسه این بابا چطور مفهوم open source , git, fork , ... رو توضیح بدم?!
-
نقل قول: Sarkesh فریمورک PHP ایرانی
درود.
آقا بابک چند تا پیشنهاد داشتم:
اول این که بیایم کلا روش نوشتن پلاگین ها رو به MVC تغییر بدیم. الان این مدلی که شما نوشتین یه مقدار گنگ هستش و زیاد جالب نیست(شاید از نظر من).
دوم این که یک active record ِا ORM اختصاصی بنویسیم یا بیایم داکتراین رو اضافه کنیم. این RedBean زیاد جالب نیست.
----------------------
و در آخر نفهیدم این فریم ورکه ؟؟؟ CMF ؟؟؟ CMS ؟؟؟ :متفکر:
-
نقل قول: Sarkesh فریمورک PHP ایرانی
یه چیز دیگه.
مدل نوشتن کنترل ها هم از به نظرم زیاد جالب نیست.
حالا من یه تغییراتی تو نحوه یی کار کردنشون میدم. بعد شما نظرتون رو درباره ی مدل کارکردنشون بدید.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
پلاگینها که بر اساس mvc نوشته شدن. الان مثلا پلاگین users رو نگا کنی کلا بر اساس mvc هست.یهنی تو قسمت کنترلر سرویس ها و اکشن ها تعریف شدن و در ماژول کارای پردازشی و.. و ویو هم که اطلاعات رو نمایش میده.
البته خود mvc هم به نوع های مختلفی پیاده سازی میشه. یه مثال بزنی فکر کنم بهتر متوجه بشم.
کدوم قسمت کنترل ها مد نظرت هست؟ بخش مدیریت کننده رویداد های سمت سرور یا کلا خود کنترل ها؟
سرکش از دید من یه فریمورکه . ولی پلاگینهایی برای مدیریت محتواها هم قصد دارم براش بنویسم که پلاگینهایی که در آدرس
plugins/system میبینید در همین راستا هست.هسته فریمورک از نظر من برای انتشار نسخه اولیه آمادس ولی چون میخوام این پلاگین ها هم باهاش باشه که کسی که ازش استفاده میکنه اگه نمیتونه توسعه دهنده باشه حداقل بتونه یه وب سایت شخصی رو راه اندازی کنه.
انشالله تو نسخههای بعدی پلاگین ها از هسته جدا میشن. حالا هرکی دوست داشت میتونه پلاگین های مورد نیازشم جداگانه دانلود کنه.
در مورد لایه بانک اطلاعاتی هم من اولش قصد داشتم از doctrine استفاده کنم ولی به این نتیجه رسیدم که کار کردن باهاش خیلی پیچیدس.برای نوشتن یه کلاس اختصاصی هم برای مدیریت بانک اطلاعاتی حقیقتا خودش یه پروژه سنگین جدا محسوب میشه که به نظر من بهتره این انرژی رو روی تکمیل قسمت های دیگه قرار بدیم.
البته میشه هم زمان هم doctrine و هم redbean رو در کتابخونه فریمورک داشت که هر کسی دوست داشت از هر کدوم استفاده کنه.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
مدل MVC که شما نوشتی میشه تو هر پلاگین فقط یک کنترلر داشت(یا اشتباه می کنم؟؟).
اینجوری زیاد جالب نیست.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
نقل قول:
نوشته شده توسط
MRmoon
مدل MVC که شما نوشتی میشه تو هر پلاگین فقط یک کنترلر داشت(یا اشتباه می کنم؟؟).
اینجوری زیاد جالب نیست.
اون که هر پلاگین فقط یه کنترلر داره درسته.
یعنی منظورتون اینه برای رویداد ها یه کنترلر و برای سرویس ها یکی و برای اکشن ها هم یه کنترل جدا داشته باشیم؟
-
نقل قول: Sarkesh فریمورک PHP ایرانی
خوب نگاه کنید.
الان من میخوام تو پلاگینم دو تا کنترلر داشته باشم...
برنامه چیه؟؟
-
نقل قول: Sarkesh فریمورک PHP ایرانی
به دلیل اینکه خود php اجازه ارث بری چند گانه رو نمیده وجود چند کنترلر ممکن نیست ولی احتمالا میشه با راه حل هایی این مورد رو پیاده سازی کرد.
تو این فریمورک این قابلیت وجود نداره.یعتی فقط یه کنترلر میتونید داشته باشید.
اگه راه حلی برای رفع این مورد دارید خوشحال میشم بفرمایید.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
نگا کن.
الان مثلا تو پلاگین هلو. چرا کنترلر اومده پرنتش ماژول شده؟؟؟
الان شما یه نگا به نحوه ی نوشتن ماژول برای زند یا yii یا جوملا بنداز.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
-
نقل قول: Sarkesh فریمورک PHP ایرانی
با توجه به اینکه کلی کار برام پیش اومده و همهی این کارا هم تو حوزه سخت افزار هست تا حدود ۲ ماه آینده فرصت یادگیری مطالب جدید تو حوزه php رو ندارم و نمیتونم تو این مدت روی پروژه کار کنم.
بر خلاف تصور دوستان منم همزمان با آموزش php دارم رو پروژه کار میکنم و قبلا در قسمت طراحی وب فعالیتی نداشتم.
تقریبا کارای هسته فریمورک تموم شده و فقط کار بر روی دو پلاگین users و بخش administrator که در هر پروژه ای مورد نیازه مونده.
دوستانی که قصد دارن توسعه این پروژه رو انجام بدن اعلام کنن و از بینشون یه نفر هم به عنوان لیدر معرفی کنند که انشالله این پروژه زمین نمونه!
نظر بنده این هست که با کمک جناب شهرکی یه تیم تشکیل بدید که هم دوستان فعالیتی انجام داده باشند و هم اینکه توسعه ی پروژه هم که متن باز هست ادامه پیدا کنه.
بنده هم اگه عمری باقی بود شاید به بقیه ملحق شدم.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
از جناب آقای شهرکی بابت بازیابی تایپینک ممنونم.
امروز در توسعه این فریمورک یک جهش خوب داشتم.اول اینکه برای محاسبه میزان مصرف رم توسط برنامه یک کلاس به کلاس های کتابخانه ای اضافه شد .و مورد بعدی اینکه کنترل و ثبت خطا های ایجاد شده در سیستم از این به بعد توسط برنامه مدیریت میشن و یک کانفینگ هم برای فعال/غیر فعال کردن حالت توسعه دهندگان به فایل کانفینگ اضافه شد.
-کانفینگ های مربوط به پایگاه داده از کانفینگ های سیستم جدا شد.
-توسط افزونه reports میتونید از بخش مدیریت خطا های ایجاد شده رو مشاهده و حالت توسعه دهندگان رو مدیریت کنید.
-بخش تنظیمات پایه سیستم شامل نام سایت و شعار و متا تگ های هدر صفحه و همچنین تعیین صفحه نخست هم اضافه شد.
-در بخش نواحی و زبان های بخش مدیریت قابلیت انتخاب کشور و اختلاف زمانی و همچنین زبان پیشفرض برنامه اضافه شد.
-به بخش مدیریت, قابلیت مدیریت نمایش بلوک ها اضافه شد.به شکلی که بتوان یک بلوک را کنترل کرد که در چه صفخاتی نمایش داده شود و در کدام صفحات مخفی شود.
-پلاگین های غیر سیستمی از بخش مدیریت پلاگین ها قابلیت فعال /غیر فعال سازی دارند.
-پلاگین content که مدیریت مطالب به صورت شی گرا را بر عهده داره 50 در صد پیشرفت داشته.
-به موتور ارتباطی بین مرورگر و سریس دهنده علاوه بر بهینه سازی چند قابلیت جدید مانند AFTER_MODAL,URL,... اضافه شده.
-قابلیت فعال/غیر فعال سازی المان های سمت مرورگر توسط برنامه تحت وب فراهم شده.
-قالب های Sarkesh و blog به دلیل نا هماهنگی با تغییرات جدید تا اطلاع ثانوی از مخزن برنامه حذف شدند.
-قابلیت اتصال مخزن پلاگین به برنامه فراهم شده.با توسعه بیشتر این بخش نصب پلاگین ها بدون نیاز به آپلود و ... و فقط با یک کلیک امکانپذیر خواهد بود.
-اضافه شدن دیزاین پترن singleton به برنامه.زین پس میشه به کلاس ها و پلاگین ها تنها با استفاده از نام فضا این قابلیت رو به کلاس ها اضافه کرد.
-کنترل های radioitem و radiobuttons به بخش کنترل ها اضافه شده.
و خیلی تغییرات دیگر ....
نکته مهم اینکه برنامه با تغییرات جدید به نسخه php بالاتر از 5.4 نیاز داره و نسخه های پایین تر پشتیبانی نمیشن.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
در کامیت جدید روی پروژه تغییرات زیادی صورت گرفته که از جمله اونها ایجاد یک پلاگین برای کنترل منو ها در سیستم هست که تنظیمات زیاد برای شخصی سازی منو ها داره.هدف اصلی اصلی در توسعه این پلاگین کارایی 100 در 100 ی برای وب سایت های چند زبانه بوده که میشه برای هر زبانی منو مخصوص رو ایجاد و مدیریت کرد.
مورد بعدی افزودن قابلیت ایجاد بلوک های مجازی در سیستم هست.تا قبل از این تمام بلوک ها وابسته به فایل و کد برنامه بودند ولی از این کامیت به بعد میشه در بانک اطلاعاتی هم بلوک ایجاد کرد. برای مثال تمام منو هایی که توسط پلاگین menus ایجاد میشن به صورت اتوماتیک به منو تبدیل شده و در بخش مدیریت تنظیم بلوگ ها قابل مشاهده هستند.
مورد سوم مربوط به ترجمه رشته های زبان فارسی هست.همون طور که اطلاع دارید پایه این سیستم بر اساس زبان انگلیسی هست و در کامیت اخیر تعداد زیادی از رشته های زبان به فارسی برگردان شد.
مورد چهارم: افزودن قابلیت بلوک کردن آی پی هست که شبیه یک دیوار آتش داخلی عمل میکنه.یعنی آی پی هایی که از بخش مدیریت به لیست سیاه اضافه میشن از دیدن وب سایت منع میشن.
مورد پنجم:بخش تنظیمات کاربران برای مدیریت نحوه ثبت نام و سطوح دسترسی کاربران و ... به پلاگین users اضافه شد البته هنوز تکمیل نیست.
مورد ششم:شروع کار بر روی پلاگین وبلاگ هست که با استفاده از قابلیت های پلاگین content میشه باهاش یک وبلاگ راه اندازی کرد.البته فعلا در حال طراحی uml برای این قسمت هستم.
مورد هفتم:رفع حدود 23 باگ در هسته سیستم و پلاگین ها بود که تا اونجا که بنده تست کردم همگی باگ هایی که تا حالا کشف شدن ,فیکش شدن.
وب سایت پروژه هم به آخرین نسخه به روز شد(فقط برای دمو) که میتونید با مراجعه به وب سایت
http://sarkesh.org
با اطلاعات زیر وارد بشید و قابلیت های جدید اضافه شده رو مشاهده بفرمایید
username :test
password :test
-
نقل قول: Sarkesh فریمورک PHP ایرانی
چندین باگ از پلاگین menus رفع شد و دو پارامتر نسخه برنامه و شماره ساخت به سیستم اضافه شد که از بخش مدیریت قابل مشاهده هست.همچنین منو مدیریت از پایه دوباره طراحی شد.
لطفا نظر خود درباره محیط مدیریت رو ذکر کنید که در آینده اعمال بشه.
تصویری از آخرین نسخه روی سایت github
http://s4.picofile.com/file/8167648750/SMVC060.png
-
نقل قول: Sarkesh فریمورک PHP ایرانی
از جناب 2undercover بابت ترجمه رشته های جدید اضافه شده تشکر میکنم.
build number:931117
- در این نسخه مدیریت بر روی تعریف متاتگ ها و تعریف تنظیمات پایه برای هر زبان به هسته اضافه شد.
- یک گذینه برای کنترل تنظیمات هسته فریمورک اضافه شد.
- تغییرات و رفع باگ های زیادی روی قالب مدیریت اضافه شد.
- کلاس های پایه با الگوی singleton بازنویسی شدند که برای ایجاد شی از کلاس به صورت استاتیک به کلاس دسترسی پیدا میکنیم و متد singleton رو فراخوانی میکنیم.
- شروع توسعه پلاگین blog -این پلاگین به عنوان پیش نیاز از پلاگین content استفاده میکنه و انتشار این بلید کامل خواهد شد.
- قابلیت ایجاد بلوک های html به پلاگین administrator اضافه خواهد شد.
- قابلیت چک کردن هسته برای به روز بودن اضافه شد.که اطلاعات خود را از سایت service.sarkesh.org میگیرد.همچنین یاداشت های انتشار هم از آنجا قابل مشاهده است.
این شماره از فریمورک روز جمعه تکمیل و نسخه فریمورک هم روی سرور برای به روز رسانی تغییر میکنه.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
بعد از انتشار این شماره بنده فقط یک شماره جدید(931129) برای نسخه آلفا منتشر میکنم و بعد از اون با نسخه 1.0.0 بتا در خدمتتون خواهم بود.
سیستم مقداری پایدار شده و عوامل کرش داخلی هسته خیلیاش رفع شده و اگر مشکلی وجود داشته باشه به احتمال زیاد از پلاگین هایی هست که به هسته پین شدن.
لازم دونستم از تعدادی از دوستان که در این راه تقریبا دو و خورده ای ساله بنده رو همراهی کردند تشکر کنم.اما واقعیتی که وجود داره اینه بنده دست تنها هستم و تقریبا از زمان غیر کاریم برای توسعه استفاده میکنم . به همین دلیل عاجزانه خواهشمندم دوستانی که میتونن در توسعه مشارکت داشته باشند کمک خودشون رو از پروژه دریغ نکنند.
همچنین جناب آقای شهرکی در پیام خصوصی که خیلی وقت پیش با همدیگه داشتیم قول کمک دادید ,انشالله کارهاتون رو به راه شد بنده کماکان منتظر مشارکت جنابعالی در پروژه هستم.
در آخر اگه ممکن هست در نظر سنجی شرکت نمایید.
-
2 ضمیمه
نقل قول: Sarkesh فریمورک PHP ایرانی
با سلام به شما دوست عزیز عرض شود من امروز فریم ورکتونو دانلود کردم دو تا ایراد دیزاینی ازش پیدا کردم مانیتور من 17 اینچ با رزولیشن 1024 در 768 منو اصلی بالا حدود 20 درصد محتوای پیشخوان میگیره و از طرفی دیگه منوساید بار راست وقتی همشونو کشویی باز میکنی به گزینه آخر که میرسی یعنی بلاگ اسکرول عمودی صفحه دیگه نمیاد پایین برای نمایشش, انگار فوتر مانع نمایشش شده ویه چیزه دیگه قسمت وسط مدیریت چرا اینقدر فضای خالی داره:متفکر: اینم دو تا عکس ازش گرفتم لطفا برطرفش کنید :چشمک:
ضمیمه 128151ضمیمه 128152
-
نقل قول: Sarkesh فریمورک PHP ایرانی
نقل قول:
نوشته شده توسط
piter11
با سلام به شما دوست عزیز عرض شود من امروز فریم ورکتونو دانلود کردم دو تا ایراد دیزاینی ازش پیدا کردم مانیتور من 17 اینچ با رزولیشن 1024 در 768 منو اصلی بالا حدود 20 درصد محتوای پیشخوان میگیره و از طرفی دیگه منوساید بار راست وقتی همشونو کشویی باز میکنی به گزینه آخر که میرسی یعنی بلاگ اسکرول عمودی صفحه دیگه نمیاد پایین برای نمایشش, انگار فوتر مانع نمایشش شده ویه چیزه دیگه قسمت وسط مدیریت چرا اینقدر فضای خالی داره:متفکر: اینم دو تا عکس ازش گرفتم لطفا برطرفش کنید :چشمک:
ضمیمه 128151ضمیمه 128152
مشکل از دراپ دوم های بوت استرپ بود که در کامیت 9904b5c0ed0248257ffd0a936ff329b1362bf29e رفع شد. فعلا وب سایت تا شماره ساخت 931117 به روزد نمیشه و بعد از اون این تغییرات هم اعمال خواهد شد.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
931117:
- بازنویسی کلی پلاگین content
- شروع توسعه پلاگین blog و پیشرفت حدود 60 درصدی
- رفع باگ در بخش نمایش منو مدیریت
- ایجاد قابلیت بلوک ایستا که میتوان برای هر زبانی آن را سفارشی کرد.
- قابلیت چک کردن برای به روز بودن هسته به فریمورک اضافه شد.
- فونت و نوار مدیریت به روز شد.
- قابلیت انتخاب آیکون برای پلاگین های مختلف جهت نمایش در بخش مدیریت اضافه شد.
- و رفع باگ های دیگر که باید در گیت هاب ببینید
اسکرین از پلاگین وبلاگ
http://s4.picofile.com/file/8169048742/931117.jpg
اسکرین از بخش مدیریت
http://s4.picofile.com/file/8169049200/931117_admin.jpg
-
نقل قول: Sarkesh فریمورک PHP ایرانی
در تغییرات اخیر بوت استرپ هم راست به چپ و هم چپ به راست به نسخه 3.2.0 به روز شدند و قالب پایه هم به رنگ آبی تغییر کرد.
قابلیت افزودن دیدگاه به پلاگین بلاگ اضافه شد و چندین قابلیت جدید به هسته اضافه شد. لوگ تغییرات در مخزن پروژه موجود است:
اسکرین از صفحه اول
http://s5.picofile.com/file/8170838592/631127_u.png
اسکرین از بخش مدیریت
http://s4.picofile.com/file/8170838142/631127_a.png
-
نقل قول: Sarkesh فریمورک PHP ایرانی
سلام دوست عزیز
امیدوارم در این راه موفق و سربلند باشید.
میخواستم بدونم این فریمورک از سیستم کشینگ فریم ورک Yii استفاده میکند؟
-
نقل قول: Sarkesh فریمورک PHP ایرانی
خیر این فریمورک کلاً از پایه نوشته شده و با فریمورکهای همه منظوره فرق داره. اطلاعات تکمیلی رو با خوندن پستهای همین تاپیک از ابتدا بدست بیارین.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
نقل قول:
نوشته شده توسط
amin7x
سلام دوست عزیز
امیدوارم در این راه موفق و سربلند باشید.
میخواستم بدونم این فریمورک از سیستم کشینگ فریم ورک Yii استفاده میکند؟
سلام ممنون
خط به خط این پروژه از ابتدا نوشته شده و روند توسعه در مخزن پروژه در github موجود هست .همچنین دنبال کردن این تایپینگ شما رو با روند پیشرفت کار آشنا میکنه.
برای سیستم کش هم میتونید از کنترل کاشی(Tile) استفاده کنید.
سیستم کش کردن اینجا یکم با بقیه فرق داره درواقع اگه یک کاشی بسازید و یک ابجکت رو بهش اضافه کنید برای بقیه کاربران میتونید اون شی رو کش کنید.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
با توجه به بازنویسی کلی سیستم از ابتدا زمان نسخه بتا دوباره به عقب خواهد افتاد. خط به خط کد های نوشته شده از ابتدا بررسی خواهد شد و داکیومنت ها و شیوه نام گذاری تغییر خواهد کرد.در این بازبینی استاندارد php-fig بر روی سورس کد ها اعمال میشه که ارتباط بقیه رو با فریمورک بیشتر خواهد کرد.
در این بازنویسی بنده یک کلاس جدید برای کار با پایگاه داده دارم مینویسم که یک نسخه مینیمال از redbeanphp خواهد بود با این تفاوت که اولا لود این کلاس خیلی کمتر از redbeanphp خواهد بود و دوما نامگذاری کلاس ها دقیقا مانند redbeanphp هست و همین قضیه ارتباط برقرار کردن باهاش رو ساده تر میکنه و همچنین برخلاف redbeanphp این کلاس جدید از الگوی singleton به جای صدا زدن استاتیک استفاده میکنه و در نسخه اولیه هم فقط mysql پشتیبانی میشه.
مورد بعدی کنترل ها هستن که برای کانفیگ کردنشون از تابع configure استفاده میشد.در این بازبینی سعی میکنم با استفاده از مقدار دهی دینامیک به صورت مستقیم بشه کنترل ها رو کانفینگ کرد.
مورد سوم و آخر اینکه باید عرض کنم به دلیل تغییرات گستره بنده بعد از اتمام تغییرات همه این بازبینی ها رو در یک کامیت بر روی پروژه ارسال خواهم کرد.
انشالله این بازبینی باعث افزایش کارایی سیستم و اضافه شدن افراد جدید به پروژه بشه.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
تغییر در ساختار کلی پلاگین ها:
با توجه به اینکه رویداد ها از توابعی که برای نمایش درخواست ها استفاده میشه متمایز هستند و برای بالا بردن پایداری سیستم بنده تصمیم گرفتم به جای کلاس controller از سه کلاس event , action , service استفاده کنم که همگی از کلاس ماژول ارث بری دارند.این کار باعث تفکیک درخواست ها و جلوگیری از صدا زدن رویداد های بدون آرگومان در سیستم خواهد شد.
همچنین باگ های زیادی در سیستم فیکس شد که بدون هیچ مشکلی میشه action های مختلف رو لود و نمایش داد و تنها تغییرات در بخش event و servcie باقی مونده . اکثر کلاس های کتاخانه ای نیز دوباره نویسی شدند و در حد امکان بهینه سازی روی هر کدام صورت گرفته.
فعلا بعد از بازنویسی کامل این بخش ها حالتی نیز برای لود کردن فایل ها از پوشه www که جدیدا اضافه شده در نظر گرفتم که به تدریج پیاده سازی میشه.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
clean url در کل برنامه فعال شد که از طریق متغییر استاتیک CLEAN_URL در فایل config.php میشه اون رو فعال یا غیرفعال کرد.
همچنین برای لود بلوک ها از یک کلاس جدید با نام widgets استفاده شده که همین مورد بلوک ها رو از محتواها تفکیک میکنه.
کلاس createUrl از این به بعد از clean url پشتیبانی میکنه .
پلاگین msg از یک پلاگین به یک کلاس کتابخانه ای تغییر داده شده که به صورت استاتیک میشه بهش دسترسی داشت و خروجی پیام ها رو در حالت modal و normal کنترل کرد.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
تقریبا کل هسته بازنویسی شده و الان در حال بازنویسی پلاگین ها هستم همچنین پلاگین ها از الگوی mvc پیشرفته تری استفاده خواهند کرد که بیشتر شبیه الگوی توسعه برنامه های دسکتاپ خواهد بود. همچنین قابلیت درج پیغام در زیر textbox ها از طریق رویداد ها میسر شد.
شیوه جدید دسترسی به پلاگین هخا هم تغییر پیدا کرده و از طریق متغییر q انجام میشود.
برای مثال :
http://site.com/?q=users/login
و اگه clean url رو فعال کنید به صورت
http://site.com/users/login خواهد بود و اگه بیش از یک زبان فعال وجود داشته باشدبه اول آدرس زبان وب سایت اضافه میشه
به صورت زیر
http://site.com/fa_IR/users/login
خواهد بود.
همچنین در حال توسعه یک کلاس پایه برای ارسال ایمیل ها هستم که جایگزین کلاس فعلی بشه.
در حال حاضر تقریبا هیچ مشکلی برای مشارکت بقیه دوستان در پروژه وجود نداره.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
همچنین تعداد کامیت های پروژه از عدد 200 گذشت
-
نقل قول: Sarkesh فریمورک PHP ایرانی
در آخرین تغییرات صورت گرفته بخش مهمی از سیستم برای چند زبانه سازی سیستم بازنویسی شد.همچنین برای تغییر زبان پلاگین i18n جایگزین languages شد.
تابع createUrl از کلاس core\cls\core\general تغییراتی صورت گرفت که از cleanUrl پشتیبانی میکنه و لینک هایی منحصر به فرد برای هر زبان تولید میکنه. این کار باعث بهتر ایندکس شدن وب سایت در موتور های جست و جو میشه.
همچنین خیلی از کد ها علاوه بر تغییر در نام گذاری متغییر ها و نام کلاس ها مورد بازبینی قرار میگیرند تا از لحاظ کارایی هم بهتر عمل کنند. سعی شده که کد ها خلاصه و داکیومنت های مفیدی همراه هر بخش قرار داده بشه تا در آینده در کار با سیستم مشکل خاصی نداشته باشیم.
مورد بعدی هم تغییر ساختار کلی پلاگین ها از mvc به یک الگوی تکامل یافته و منحصر به فرد برای این سیستم هست که در پست بعدی دربارش توضیحات لازم رو میدم.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
بر خلاف میلم نسخه روی دامنه sarkesh.org به نسخه جدید به روز شد متاسفانه نسخه جدید با وجود تغییرات گسترده خیلی ناپایداره و خیلی از امکاناتش هنوز بازبینی نشدن که بتونم به این نسخه اضافش کنم. ولی با این حال این نسخه هم مثل نسخه قبلی روز به روز پایدارتر و بهتر خواهد شد.
طبق برنامه ریزی بنده حدود اواخر اردیبهشت نسخه آزمایشی آماده میشه. بعد از اون قصد دارم ایده ای که مد نظرم هست رو با این پروژه راه اندازی کنم.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
پلاگین ADMINISTRATOR به صورت کامل به روز رسانی شد. لوگ تغییرات در مخزن پروژه موجود است.
همچنین پلاگین های مدیریت منو ها و وبلاگ هم تا چند روز آینده کاملا بازنویسی میشوند.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
تعدادی رشته جدید به فایل ترجمه اضافه شد و همچنین در پلاگین MENUS هم پیشرفت هایی حاصل شده.همچنین جندین باگ در کلاس های پایه هم رفع شده.
ترحمه ها برای دسترسی دوستان بر روی سایت CROWDIN قرار گرفت.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
یک دیوار آتش به پلاگین users اضافه شد که میشه از بخش مدیریت بهش آی پی اضافه کرد و آی پی هایی که در لیست باشن رو از دیدن وب سایت منع میکنه.
همچنین پلاگین menus هم کاراش تموم شد و بدون مشکل کار میکنه و میشه باهاش و با استفاده از بوت استرپ منو های عمودی و افقی ایجاد کرد . همچنین منو ها به صورت اتوماتیک به بخش بلوک ها برای درج در وب سایت اضافه میشن.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
لوگوی جدیدی برای نسخه جدید در نظر گرفتم که دوست دارم نظر بقیه رو در موردش بدونم.اون لوگوی اسب به این دلیل کنار گذاشته شده که لوگوی اسب خیلی زیاد شده از فراری بگبر تا ایران خودرو و ...
لوگو
http://s5.picofile.com/file/8176800434/sarkesh_128.png
-
نقل قول: Sarkesh فریمورک PHP ایرانی
تقریبا میشه گفت کل سیستم بازنویسی شده .
یه سری پلاگین اضافه شدن که برای نسخه اولیه به تدریج کامل میشن.فعلا فقط امکانات پایه برای پلاگین ADMINISTRATOR تکمیل شدن و بقیه پلاگین ها هم به تدریج تکمیل میشن.
همچنین سیستم مدیریت فایل هم از نو بازنویسی شد. در این تغییرات فریمورک جاوا اسکریپتی که برای آپلو فایل به پروژه اضافه شده بود رو حذف کردم و خودم از پایه یه نمونه خیلی ساده و ابتدایی رو جایگزینش کردم.
در مورد تغییر لوگو هم قبلا توضیح دادم.
یک دیوار آتش داخلی هم برای مسدود کردن آی پی ها به پلاگین users اضافه شد.
menus که برای مدیریت منو هها طراحی شده بود از نو بازنویسی شد.
در آخر هم فایل های زبان فارسی با کمک مشارکت کنندگان در سایت crowdin تکمیل شد.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
-
نقل قول: Sarkesh فریمورک PHP ایرانی
تعداد 68 رشته ترجمه نشده به crowdin اضافه شد.برای مترجمان درخواست فرستادم.
همچنین مدیریت گروه ها و مدیریت کاربران و قسمت فراموشی کلمه عبور و فعال سازی با ایمیل هم از نو بازنویسی شدند.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
-در هفته گذشته تغییرات زیادی در پروژه انجام شده که میتونید لیست تغییرات رو در زیر ببینید.
نقل قول:
Release note
SarkeshMVC 0.9.3.1
Build number:940115
System requirements:
- OS: Linux +3.5.2
- Apache: +2.0
- PHP: +5.3
- mysql: +4
Warrning: multi language and some other options not working on some windows XP/VISTA/7/2002/2008/2008 R2/2014 Server/8/8.1/10 :)
Additions
-add have been parsing MVC internal standard for develop plugins.
-i18n plugin
-core\data\obj class
-core\data\str class
-reports plugin
-users control plugin from administrator area
-add index option to checkbox control for use checkbox in tables
-add new control(wall)
-add auto install for new plugins
-add page plugin
Removals
-old Menus plugin
-msg plugin
-language plugin
-content plugin
-blog plugin
-remove install theme and plugin parts from administrator plugin
Changes
-administrator plugin
-new menus plugin
-all lib classes
-registry key names
-change sarkesh logo
-rebuild file system
-rebuild mail class for send emails
-database file and fix some bugs in columns
Fixes
-event holders for get clicked element values
-change theme\info.php file from array to class with 2 universal static function
-\core\cls\core\general::createUrl bug fix
-bug fix on show description in \core\cls\browser\page::defaultHeaders()
installation:
-create blank database
-upload system to your host
-import install\import.sql to your database
-edite db_config.php for connect to your database
-
نقل قول: Sarkesh فریمورک PHP ایرانی
http://s6.picofile.com/file/8183328300/BETA1.png
سرانجام نسخه بتا منتشر شد.
بعد از بازنویسی کل سیستم و استاندارد سازی قسمت های مختلف امروز موفق شدم این بازنویسی ها رو تموم کنم . البته برای شروع هم دارم به عنوان سرویس دهنده به دو نرم افزار تحت اندرویید از این سیستم استفاده میکنم و همین مسئله حساسیت این بازبینی رو اضافه میکرد. در این نسخه از مدل mvc کمی فاصله گرفتم و این مدل رو بر اساس نیاز های نرم افزار تغییر دادم که تمام درخواست ها توسط کلاس های مجزا ئاسخ داده شوند . همچنین رویداد های سمت سرور هم توسط کلاس event قابل پاسخ دادن هست.
از امروز سیاست کلی بر رفع باگ های موجود و ایجاد یک راهنما برای کار با سیستم و نوشتن افزونه ها خواهد بود.
قابلیت هایی که هنوز پیاده سازی نشده اند.
-به روز رسانی اتوماتیک
-ارسال دیدگاه در پلاگین page
همچنین دوستانی که سیستم رو تست کردند. باگ های احتمالی رو میتونن در مخزن پروژه در github ارسال کنند.
-
نقل قول: Sarkesh فریمورک PHP ایرانی
به روز رسانی اتوماتیک هم اضافه شد.
برای افرادی که نصب میکنند از این به بعد از طریق خود برنامه میشه خودش رو به روز کرد و نیازی به انتقال فایل ها نیست.