برنامه نویسی درساختار LAMP
ساختار LAMP چیست ؟
LAMP: مخفف کلمات Linux Apache MySql Php است.
Linux: نام سیستم عاملی محبوب و مرسوم برای کاربران و مدیران شبکه و... است.
Apache: یکی از معروفترین وب سرورهای موجود در لینوکس است. وب سرورهای دیگر عبارت هستند از nGinx : و Lighttpd
MySQL: یک سیستم مدیریت بانک های اطلاعاتی استکه از طریق آن می توانیم صفحات اینترنتی خودمان با استفاده از توانایی ذخیره و بازیابی داده ها،پویا و تعاملی کنیم.
PHP: یک برنامه نویسی سمت سرور است که با آن می توانیم طراحی صفحات اینترنتی مبتنی بر سرور و API Web را بنویسیم.
توسعه وب بر پایه ساختار LAMP
به توسعه ی Server Side یا Back _ End تاکید دارد
در مقابل توسعه ی Server Side یا Back _ End توسعه ی Front _ End یا طراحی وب سایت بر پایه ی JS _ HTML _ CSS/LESS کار می کند .
Front _ Endاطلاعات را از Back _ End دریافت می کند . Back _ End اطلاعات را تغذیه می کند و Front _ Endاطلاعات را نمایش می دهد .
Package حاضر server side است .
- در Packageحاضر server side در مورد موارد زیر صحبت شده است :
- Responsive Web Design
- SEO _ Search Engine Optimization
- Linux
- Send To S
- نصب(Des toro az sestem amele Linux)
- اجرای ساختار Lamp بر روی آن
- Mer client
- ارسال و دریافت ایمیل
- امن سازی Linux
- نصب و توسعه ی Linux
- Apacheجایگزین کردن Enging = ساختار Lemp
- Mysql = Mario D.B دیتا بیس می باشد با استفاده از php اطلاعات را می خوانیم و به Front _ End وارد می کنیم .
- php = PL جایگزین perl piten
پروژه هایی که ساخته می شود :
- ساخت یک دیکشنری
- ساخت یک سیستم آبونمان
- طراحی کردن صفحه اول google مبحث CSS/LESS اهمیت داشته است.
پروژه ی اساسی و کامل : پروژه ی فروشگاه
- سیستم ثبت نام و ورود :
بر اساس ایمیل و رمز عبور و دریافت کردن نام کامل و مستعار بعد از ورود در Header نمایش داده می شود .
- هدف برنامه نویسی : توسعه ی سرور ساید یا Back _ End بوده است .
- ذخیره ی / بازیابی اطلاعات از Session ها
- ذخیره ی پایدار اطلاعات Session ها
- گالری محصولات در دو نمایش مختلف Grid و خطی
مرتب سازی بر اساس معیار های مختلف و جستجو کردن در لیست محصولات
(مرتب سازی بر اساس تکنولوژی Ajacx به وجود می آید که بدون Reload کردن این page این وب سایت با جستجو کردن یا انتخاب کردن یک معیار برای مرتب سازی خود به خود لیست محصولات up date می شود).
همچنین لیست علاقهمندی ها :
(که با یک ستاره رنگی کنار هر محصول محصولات مورد علاقه را انتخاب کرد که در صفحه ی جداگانه برای هر کاربر قابل نمایش است ).
- اضافه کردن محصولات به سبد خرید .
- پیش نمایش سبد خرید به شکل تکنولوژی Ajacx انجام می شود .
- به صورت Real Time مبلق نهایی خرید را نمایش می دهد و وارد سبد خرید اصلی می شود با جزئیات دقیق تر و بهتر .
- تولید و پرداخت فاکتور های آبونمانی
- اتصال درگاه پرداخت زرین پال
- نمایش سبد خرید اصلی و اعمال تغییرات در تعداد و ابدیت شدن مبلق نهایی حذف محصول از سبد خرید
- وب سایت Responsive می شود که به راحتی در مبایل نمایش داده شود
- کمی SEO اعمال شده است .
بروز رسانی و Update این وب سایت :
مباحث مطرح شده در Server Side مباحث Long Term هستند و به این رودی ها منقضی نمی شوند.
- ذاتا وابسته به تکنولوژی های Long Term (بلند مدت) هستند.
- سازگاری نسخه ی جدید با کد های قدیمی
- بکاپگیری آموخته های این Package درهر Frameworkوابسته به Lamp یا Lemp
- تولید یک Framework با ساختار عالی و قابل گسترش CMS ها Plugin ها
Php را با VS :
سایر زبان های برنامه نویسی از لحاظ سرعت و بزرگی و کوچکی پروژه مقایسه نکنیم.
بزرگی پروژه: (Face Book)
زبان برنامه نویسی php است زبان هک است که از core ,php تشکیل شده است .
نسخه های 5 وقبل از آن scrept type و کندی سرعت زبان هک درface book ایجاد شود .
تمامی امکانات زبان هک در نسخه 7 قرار داشت از نظر سرعت از زبان هک بالاتر است .
Php 5 از نظر سرعت با هک برابر است .
Php 7 از نظر سرعت و شی گرایی object Oreanted با هک برابری می کند .
PHP :
VS:
ASP.Net : سریع و قدرتمند است .
GO : کامپایل می شوند . player اختصاصی uncox با GO نوشته شده است .
Node.JS : با we aet NGINX کامپایل می شوند و قابل اجرا هستند .در حد سیستم عامل هستند و با up code های cpu کار می کنند . از نظر تئوری سریعترهستند.
Angular : قابل کامپایل هستند .
Payton : یک زبان علمی است که با آن می توان توسعه ی سرور را انجام داد .
Java : برای توسعه ی وب سایت مناسب نیست (اما مشکل per formanse هم نخواهد داشت.)
سرعت یک برنامه سمت سرور server side به سرعت زبان برنامه نویسی بستگی ندارد بلکه
به طراحی , Data Base
به نوع Quereهای گرفته شده ,
به Optemize کردن این Quere ها ,
به cach کردن اطلاعات Data base ,
به template ingin که html را Genaret می کند .
اگر در سمت client کندی سرعت داشته باشد به Java Scrept ستگی دارد .
به Cach کردن اطلاعات Static نظیر Html _ CSS _ Java script بستگی دارد
به ساختارهای Server که چقدر محدودیت در اجرا کردن کدها در cpu و ذخیره سازی در Ram دارد.
به cach کردن سمت server ربط دارد .
1تا 5 % به انتخاب زبان برنامه نویسی بستگی دارد .
99% به نوع برنامه نویسی و ساختار های برنامه نویسی بستگی دارد.
محاسن PHP :
- طراحی شده مخصوص توسعه سرور Back End وب
- اجرای File Base
- سرعت بسیار عالی و رقابتی
- سازگاری با انواع سرور مخصوصا Linux
- سازگاری کامل با HTTP Serverهای Apache , NGINX
- انبوهی از Fraimwork ها( semfone _ keke php _ lee_ larabel قالب کلی از کدها ست باعث می شود توسعه سریعتر انجام شود.)
وCMS ها(انجمن _ بلاگ _فروشگاه_ word press _ jomla _ doropa)
- انبوهی از Pluginها و Fraimwork
- Community بسیار وقوی
- کثرت وب سایت های اجرایی
- سرعت یادگیری بالا
- بروزرسانی های سریع واثر گذار
- اکثر امکانات قابل استفاده به صورت Built _ in
- ذاتا یک HTML Template Engine است
- کارایی بالای آرایه های و JSON
- داده ها با تایپ آزاد و یا خشک
- متد جادویی
معایب : PHP
- عدم وجود Compiler رسمی در نسخه 7 به بعد
- بلاک شدن تا حصول نتیجه
- هرBug تبدیل به امکان می شود
**************برای بازگشت بر روی لینک کلیک کنید