Kaptain Kitty
انتشار :۱۱ اسفند ۱۳۹۳
بازدید :1290 بار

در این قسمت بیشتر می خواهیم زبان برنامه نویسی PHP را بررسی کنیم و ببینیم که غیر از تعربف و تمجید های تکراری که در تمام وبسایت ها شاهد آن هستیم، چه نقاط ضعفی هم دارد.

مقایسه node و php

مقایسه node و php

مقایسه ی PHP + Apache Stack و پلت فرم Node.js

مقایسه ی این دو مانند مقایسه ی سیب و پرتقال است. php زبان قدیمی تری است که در پشت صحنه ی وب سرور با متد  request/response اجرا می شود، در حالی که Node.js یک فریم ورک non-blocking (بدون بلوکه شدن) و event-loop (حلقه ی رویداد ها) می باشد که جاوا اسکریپت را در موتور V8 و با یک وب سرور اختیاری اجرا می کند. حال آیا واقعا این دو مانند مقایسه ی سیب و پرتقال هستند؟ هر دو تکنولوژی برای اجرای صفحات وب در مرورگرها مورد استفاده قرار می گیرند.

هر دوی این محیط ها دارای مزایا و معایبی هستند و نمی توان گفت که به عنوان مثال یکی از آنها زبان بی نقص و ایده آل برای تمام پروژه ها و دیگری زبانی مملو از کاستی است. در این مقاله می خواهیم به نقاط ضعف و قوت آن دو پرداخته و موارد استفاده ی بهتر آنها را در پروژه های مختلف معرفی کنیم. اما چرا به مقایسه ی این دو زبان می پردازیم؟ چون سینتکس هر دوی آنها متاثر از زبان C می باشد.

نقاط قوت PHP

PHP تا کنون پر استفاده ترین زبان برنامه نویسی سمت سرور بوده است. زبانی با قدمت زیاد که سرویس دهندگان سرور های آن همواره خدماتی ارزان و هاستینگ های مشترک ارائه می دهند. برخی از بزرگترین و مرسوم ترین پلتفرم ها یا اپلیکیشن ها از php استفاده می کنند. WordPress، محبوب ترین پلتفرم self-hosted بر پایه ی php می باشد. MediaWiki، Joomla نیز برخی دیگر از اپلیکیشن های self-hosted هستند که از php استفاده می کنند.

برخی از بزرگترین وب سایت هایی که از php استفاده می کنند فیسبوک و ویکی پدیا هستند. PHP از روش های قدیمی شیء گرا استفاده می کند. صدها فریم ورک وب و ملیون ها مستندات مختلف به زبان های گوناگون برای php وجود دارد.

Php برای ارائه ی وب سایت های محتوا محور فوق العاده هستند. Php در پس وب سرور قرار می گیرد که می تواند بررسی کند آیا فایل درخواست شده در filesystem وجود دارد یا خیر. اگر فایل وجود داشته باشد، بدون اجرای کد php در اختیار کلاینت قرار می گیرد. اما این امر لزوما مزیتی برای خود زبان php محسوب نمی شود اما یکی از اثرات جانبی سودمند برای افزایش سرعت در اکثر موارد در نظر گرفته می شود.

PHP کمپانی قدرتمند Zend (که برچسب تجاری آنها “The PHP Company” می باشد) را پشت خود دارد.

نقاط ضعف PHP

PHP برای استفاده های طولانی مدت ساخته نشده است. ممکن است در اینجا برخی با این نظر مخالف کنند و آن را به چالش بکشند اما php به طور پیشفرض به گونه ای ساخته شده است که خود به خود بعد از ۳۰ ثانیه یا رسیدن به حجم مشخصی از حافظه terminate شده یا متوقف می شود. می توان این قابلیت را غیر فعال کرد و اپلیکیشن ها را به گونه ای ساخت که برای مدت های طولانی با موفقیت اجرا شود اما در این زمینه php خیلی موفقیت آمیز عمل نمی کند.

این زبان نمی تواند کد ها را به صورت موازی اجرا کند. شما می توانید با استفاده از ابزاری به نام Gearman برخی از کارها را به عهده ی پردازش های دیگر بگذارید و مراقب پیشرفت کار باشید اما PHP برای این کار ساخته نشده است. Gearman به تنهایی ویژگی های فوق العاده ای را ارائه می دهد که می توان در محیط های دیگر مثل Node.js به کار برد.

وقتی به روز هایی برمیگردیم که URL ها و filesystem ها دارای mapping با مختصات ۱:۱ بودند، منطقی بود که وب سرورهایی داشته باشیم که مجزا از زبانی باشند که اجرا می کنند. اما این روز ها، تمام اپلیکیشن های php که دارای URL های جذابی هستند و در پشت صحنه ی وب سرورهای Apache عمل می کنند، نیاز به یک فایل .htaccess دارند که یک عبارت با قاعده را به سرور اعلام می کنند تا فایل را قبل از ارائه بررسی کند.

روی هم رفته، stack پشتیبانی کننده از php در مقایسه با موارد ساده تری مثل Node، بسیار پیچیده است. یک نفر php را برای تنظیمات global و تنظیمات مخصوص وب سایت نیاز دارد. فردی دیگر php را برای تنظیمات global مربوط به php.ini نیاز دارد که می تواند در زمان اجرای برنامه override شود. چند ویژگی قدیمی و اضافه ی دیگر نیز وجود دارد که باید حذف شود مثل y2k (که در نسخه ی ۵٫۴ حذف شد).

همچنین وبسایت رسمی آن بسیار زشت و قدیمی است. مستندات آن قابل قبول بوده و نکاتی که توسط کاربران نوشته شده است بسیار مفید است البته متد آپدیت کردن مستندات از SVN استفاده کرده و برای کسانی که مستندات را می نویسند خیلی جالب نیست.

مدیریت پکیج اصلا وجود ندارد. البته PEAR را داریم اما استفاده از این ابزار به طور مسخره ای دشوار است. Package manager های دیگری هم پدید آمدند مثل Pyrus (PEAR2) و Pachagist اما کاربرد آنها به قدری پراکنده است که هیچ استاندارد مشخصی برای آن وجود ندارد. PHPClasses.org نیز وجود دارد اما این سایت نیز خیلی کاربردی نداشته و کاربر حتما باید در آن ثبت نام کرده باشد تا بتواند سایت را بررسی کند.

از زمانی که یک فرآیند PHP آغاز می شود، کارهای مختلفی انجام می شود که همان task مورد نظر کاربر اجرا شود اما پس از آن همه چیز از بین می رود، داده ها در حافظه ذخیره نمی شوند. شما می توانید با ابزار های دیگر مانند Memcache یا دیتابیس های قدیمی این داده ها را به صورت دائمی حفظ کنید اما تعداد تبادل اطلاعات با این فرآیند های خارجی بیش از حد خواهد بود.

 

سه قسمت قبلی این مقاله در لینک های زیر قابل دسترس می باشند:

قسمت اول : مقایسه ی زبان های برنامه نویسی PHP و Node.js- قسمت اول

قسمت دوم : مقایسه ی زبان های برنامه نویسی PHP و Node.js- قسمت دوم

قسمت سوم : مقایسه ی زبان های برنامه نویسی PHP و Node.js- قسمت سوم

 

node js چیست php بهتر است یا node js آشنایی با node js برنامه نویسی no پلت فرم node js پلت فرم نود جی اس زبان برنامه نویسی node js ساخت وب اپلیکیشن فریم ورک نود جی اس معماری non blocking در جاوا اسکریپت مقایسه ی node و php نود جی اس چیست
مطالب مرتبط

مدیران وب‌سایت‌ها، مخصوصا آنهایی که در کسب و کارهای کوچک یا سازمان‌هایی بدون نیروی تخصیص یافته به این بخش و متخصصان حوزه‌ آی تی اغلب از اصول اولیه مبحث امنیت چشم‌پوشی می‌کنند. این امر می‌تواند در عصر مدرن نه تنها از حیث حملات مستقیم هکری بلکه از نظر حملات اسکریپتی که در مقابل مجموعه‌ای از اهداف بی انتها و تصادفی رخ می‌دهد هم خطرناک باشد. اصلا مهم نیست که وب‌سایت شما تا چه حد کوچک و نسبتا بی اهمیت است، در هر صورت می‌تواند هدف حملات هکری باشد و چه شما فردی باشید که سایت را نوشته و یا فردی که آن را مدیریت می‌کند، احتمالا با این چند نکته اولیه در حوزه‌ی امنیت وب آشنا نباشید. در این مقاله به این نکات می‌پردازیم.

مایکروسافت سخت در تلاش است برای مرورگر اج جایی در میان سایر رقبای خود پیدا کند. تبلیغاتی که در ویندوز ۱۰ نمایش داده می شوند، ادعا می کنند که مرورگر اج از مرورگرهای کروم و فایرفاکس امن تر است.

سی‌پنل یک صفحهٔ کنترل میزبانی وب، مبتنی بر لینوکس است که بوسیلهٔ ایجاد رابط کاربری و ابزار خودکار طراحی شده است تا کار کردن با فضای میزبانی وب را راحت‌تر کند. سی‌پنل در سه نوع برای استفادهٔ گردانندگان سرور، فضاهای ریسیلر و کاربر دارنده وب سایت طراحی شده است تا مصرف کنندگان و گردانندگان سرورها بتوانند به شکل‌های گوناگون روی فضای خود کنترل داشته باشند.

ابزارهایی که به صورت پیش‌فرض بر روی سی‌پنل نصب هستند، شامل وب‌سرور آپاچی، پی‌اچ‌پی، مای‌اس‌کیوال، پرل، پایتون و بایند (دی‌ان‌اس) می‌شود، همجنین ایمیل‌هایی که به صورت پیش‌فرض پشتیبانی می‌شوند شامل پاپ۳، اس‌ام‌تی‌پی، آی‌ام‌ای‌پی (قرارداد پیام‌گزینی) هستند. سی‌پنل بطور معمول به روی درگاه ۲۰۸۲ و به صورت اس‌اس‌ال بر روی ۲۰۸۳ قابل دسترسی است.

فعالیت استارتاپ پوشه بدین صورت می باشد که اگر شما برای کسب و کار خود اپلیکشینی راه اندازی نمودید و تمایل به ارسال اعلان (پوش نوتیفیکیشن – Push Notification) های مختلف و همچنین دریافت آمار دقیقی از اپلیکیشن خود داشته باشید می توانید از این سرویس استفاده نمایید.

نظراتتان را برایمان بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

مطالب ما تو این شبکه های اجتماعی هم پخش میشه