کریستال چیست؟

سلام دوستان. تصمیم دارم این پست رو جهت معرفی و آشنایی شما با فریمورک php کریستال بنویسم.

به تازگی یک فریمورک php نوشتم که اسمش crystal یا crystalphp هست. که آقای جادی هم توی وبلاگشون در این پست زحمت کشیدن و معرفی اش کردن. در واقع هدف من از نوشتن کریستال یک فریمورک بسیار ساده و بسیار سبک و در عین حال سریع و قوی بوده. که بر پایه معماری mvc نوشته شده. قطعا php کار ها با یکی از فریمورک های php مثل laravel آشنایی دارن. قطعا کریستال در حد laravel نیست اما حتما میدانید که پروژه های لاراولی بسیار حجیم هستند. و درواقع اکثر فریمورک های پی اچ پی وابستگی های زیادی به دیگر کتابخانه ها دارند. نمیتوان گفت crystal از غول هایی مثل symfony یا laravel بهتر است. اما مزایایی هم نسبت به آنها دارد.

برای مثال اصولا در حال حاضر کریستال وابستگی ای به کتابخانه های دیگر پی اچ پی ندارد(شاید در آینده پیدا کند). و حجم یک پروژه کریستالی یک الی دو مگابایت است. کریستال از سادگی بسیار جذابی برخوردار است. در واقع سادگی این فریمورک یکی از اهداف من است. کریستال بر خلاف فریمورک های دیگر مثل لاراول که ساختار پوشه بندی مبهمی دارند یا ساختار namespace هایشان کمی سخت است, بسیار ساده است. هم از نظر ساختار پوشه بندی پروژه و هم از نظر ساختار namespace بسیار ساده است. هرچند باز هم تکرار میکنم حداقل در حال حاضر به قدرت و توان لاراول یا سیمفونی نیست اما از دیگر فریمورک ها هم کمتر نیست و اگر یک بار امتحانش کنید ضرر نمیکنید 🙂

کریستال بر پایه composer نوشته شده و در نتیجه میتوانید هر کتابخانه ای را به پروژه تان اضافه کنید.

برای ساخت یک پروژه جدید کریستالی با composer باید به این شکل عمل کنید:

composer create-project crystalphp/project projectname $

با این دستور پروژه جدید ساخته میشود و میتوانید از کریستال لذت ببرید!

و همچنین لینک های git:

GitLab: https://gitlab.com/crystalphp

خودم به شخصه طرفدار gitlab هستم اما به هر حال github هم نیاز میشه 🙂:

GitHub: https://github.com/crystalphp

سخن آخر

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

میتونید مستندات کریستال رو توی این اینک مشاهده کنید.

و اگر این فریمورک مورد استقبال قرار بگیره وبسایت هم براش میزنم.

امیدوارم ی روزی این فریمورک هم مثل بقیه خوب بشه.

ممنون از اینکه مطالعه کردید 🙂