زبان برنامه نویسی PHP چیست؟

زبان PHP

PHP مخفف عبارت Hypertext Preprocessor به معنای پیش پردازند فرامتن می باشد گه در سال ۱۹۹۴ توسط رسموس لردورف ایجاد شد . سپس توسط سایرین توسعه و گسترش پیدا کرد. اولین نگارش عمومی آن در اوایل سال 19۹۵ ارائه شد و با نام Personal Home Page روانه بازار شد که البته بسیار ساده بود.php یک زبان برنامه نویسی برای طراحی وب سایت های پویا است. با بزرگ شدن دنیای اینترنت و فراگیری طراحی وب سایت های متنوع دیگر زبان HTML پاسخگویی نیاز مدیران وب سایت ها نبود. از این روز نیاز به زبانی بود تا بتواند مانند نرم افزار های DESKTOP عمل کند و به راحتی قابل گسترش باشد. زبان php یک زبان سمت سرور است به این معنا که کدهای php بر روی سرور تفسیر شده و خروجی html یا خروجی های دیگری که برای کاربر قابل نمایش باشد را نشان میدهد. از مشهورترین نرم افزارهای ساخته شده با PHP می توان به سیستم های مدیریت محتوایی (cms) چون جوملا، وردپرس ، دروپال و … اشاره کرد. سایت های فراوانی در جهان براساس زبان PHP نوشته شده اند و هر روز نیز بر تعداد آنها افزوده می شود. بر طبق آمار منتشر شده بیش از ۶۰% از سایت های موجود در سرورها با زبان PHP نوشته و بارگذاری شده است که از مهمترین آنها می توان به ویکی پدیا و فیسبوک اشاره کرد.

برخی دیگر از ویژگی های زبان برنامه نویسی php

  • Php یک ابزار اوپن سورس و رایگان است به همین دلیل هاست هایی که میزبانی آن را انجام می دهند بسیار ارزان تر از هاست های NET. هستند.
  • Php بر روی تمامی پلتفورم های معروف مثل ویندوز،لینوکس و مکینتاش قابل اجراست.
  • PHP یک ابزار ساخت یافته بوده و یادگیری آن بسیار ساده است.
  • ابزار کار با PHP همگی اوپن سورس بوده و استفاده از آن رایگان هستند.
  • اجرای یک اسکریپت PHP به طور متوسط تا سه برابر یک اسکریپت ASP است.
برنامه نویسی با PHP

Php زبان تخصصی طراحی وب و اپلیکیشن

شاید به جرأت بتوان گفت یکی از دلایل محبوبیت زبان برنامه‌نویسی php به عنوان یک زبان سمت سرور، این است که PHP در ابتدا به عنوان ابزاری برای ساخت صفحات HTML و مدیریت فرم‌ها طراحی شده است. به عبارت دیگر، پی‌اچ‌پی تنها زبانی است که با رویکرد طراحی سایت ابداع شده و به نوعی می‌توان گفت که یک زبان تخصصی سمت سرور برای طراحی وب و اپلیکیشن است. این ادعا هرگز بدان معنا نیست که با سایر زبان‌های برنامه‌نویسی نمی‌توان سایت‌های دینامیک طراحی کرد؛ بلکه منظور این است که پی ‌اچ‌ پی برای این کار ساخته شده است و به نوعی می‌توان گفت که زبانی تخصصی برای طراحی سایت است.به علاوه، این ادعا هرگز بدان معنا نیست که پی‌اچ‌پی زبان بهتری نسبت به سایر رقبا است بلکه صرفاً در حوزه فوق‌الذکر، پی‌اچ‌پی یک سر و گردن نسبت به رقبا بالاتر است. نسخه وب اپلکیشن حالتی است که شما علاوه بر استفاده از امکانات اپلیکیشن های اندروید و ای او اس میتوانید مشابه این امکانات را بر روی وب سایت داشته باشید.در این حالت است که  از یک پنل مشترک پلتفرم های وب سایت، اندریود و ای او اس مدیریت میشوند و سیستم تحت وب به صورت یکپارچه از طریق پنل مدیریت حرفه ای و داینامیک شده ای مدیریت میشود. طراحی وب اپلیکیشن با طراحی وب ویو کاملا متفاوت است. در نسخه وب ویو، شما ویویی کاملا ریسپانسیو شده از ساختار وب سایت را بر روی گوشی خود خواهید داشت. بنابراین نسخه وب ویو برنامه نویسی سمت اپلیکیشن ندارد و برنامه به صورت انلاین از روی وب سایت خوانده میشود. ممکن است از خود بپرسید مزایا وب اپلیکیشن و وب ویو نسبت به یکدیگر در چیست؟ در نسخه وب اپلیکیشن شما امکانات پلتفرم ها را به صورت یکسان مطابق با ui و ux اپلیکیشن یا وب سایت دریافت میکنید.در واقع در نسخه وب اپلیکیشن شما از بزرگترین مزیت اپلیکیشن ها که طراحی راحت و کاربردی است بهره مند هستید اما در نسخه وب ویو شما بدون طراحی استاندارد ساختار اپلیکیشن مجبور خواهید بود از امکانات وب سایت استفاده کنید.همچنین با برنامه نویسی جداگانه وب سایت و اپلیکیشن های اندروید و ای او اس در نسخه وب اپلیکیشن امکان توسعه نامحدود امکانات بر روی هر پلتفرم بنا به نوع سیستم عامل و کاربری ان وجود خواهد داشت.طراحی سایت php برای افرادی مناسب است که می خواهند سایتی تماما سفارشی و کاملا بر اساس ویژگی ها و امکانات مورد نیاز آنها طراحی شود.

یادگیری php

زبان ساختار یافته ی php این امکان را فراهم کرده است، حتی افرادی که تجربه چندان زیادی در زمینه ی برنامه نویسی ندارند با چند اموزش اصولی میتوانند کدنویسی با این زبان را انجام دهند. این در حالی است که یادگیری و به کارگیری دیگر زبان های سمت سرور برای برنامه نویسی به این راحتی نیست. البته میتوان گفت زبان پایتون نیز جزو زبان های اسان برای یادگیری است.

بازار کار php

همانطور که پیش تر ذکر شد؛ زبان پی اچ پی در طراحی cms هایی چون ووردپرس، جوملا، دروپال و… به کار گرفته شده است . از انجایی که بخش قابل توجهی از وب سایت های بزرگ و کوچیک با اینگونه cms های طراحی شده اند بنابراین برای طراحی و توسعه وب سایت ها زبان برنامه نوسی php بسیار پرکاربرد و بازارکار آن بسیار خوب است.

سیستم مدیریت محتوا (cms)

یک سیستم مدیریت محتوا (cms) چه امکاناتی دارد ؟

طیف وسیعی از امکانات . اکثر سیستم مدیریت محتوا (cms) ها در ورژن های مختلف و با قابلیت های مختلف به بازار عرضه میشوند . البته قابلیت بروز کردن اطلاعات در همه مشترک است اما قابلیت های ویژه دیگری دارند که با قیمت های مختلف بشما پیشنهاد میدهند . از جمله:۱- مدیریت اطلاعات فرستاده شده توسط کاربران و تایید اطلاعات۲- چند زبانه بودن۳- ایجاد نقشه سایت داینامیک۴- امکان ایجاد تجارت الکترونیک یا فروشگاه مجازی۵- ایجاد فرم برای دریافت اطلاعات کاربران۶- بهینه سازی تصاویر آپلود شده۷- ایجاد و بروز کردن متا تگ ها۸- امکان جستجو در مطالب سایت۹- امنیت بیشتر۱۰- گزارش آمار بازدید از صفحات

۱۱- و CMS های اطلاعاتی:

در سیستم مدیریت محتوا (cms) معمولا کار طراحی صفحات سایت را انجام نمیدهند . بلکه کارشان مدیریت اطلاعات یک سایت است . امکاناتی که این سیستم ها دارند تقریبا بشرح زیر است :۱- امکان فرستادن اطلاعات به سایت توسط چند کاربر۲- آرشیو بندی اتوماتیک اطلاعات بر اساس تاریخ و موضوع۳- ایجاد امکان جستجو در اطلاعات قبلی۴- ایجاد لینک دائم برای هر مطلب و متا تگ برای آن۵- و امکانات جانبی دیگر مثلا ایجاد یک صفحه بعنوان لینکستان  

مزایای طراحی سایت با استفاده از CMS

در زیر برخی مزایای ایجاد یک وب سایت از طریق سیستمهای مدیریت محتوی فهرست شده است:۱- مدیریت کاربران:با سیستم مدیریت محتوا (cms) : مدیریت کابران و تعیین سطوح دسترسی در کل طراحی سایت به صورت جامع و توسط سیستم صورت می گیرد.بدون سیستم مدیریت محتوا (cms) : ایجاد مدیریت کاربران به عهده تولید کننده است. کاربران برای ورود به بخشهای مختلف سایت باید در جاهای مختلف اعتبار سنجی شوند. ۲- گسترش پذیری:با سیستم مدیریت محتوا (cms) : برای توسعه اطلاعاتی در CMS نیاز به تغییرات بنیادی در سیستم نمی باشد و از این رو کم هزینه است.بدون سیستم مدیریت محتوا (cms) : توسعه بخشهای مختلف و تغییرات در محتوای سایت زمانگیر و پر هزینه است. ۳- ایجاد صفحه ای جدید:با سیستم مدیریت محتوا (cms) : تمامی صفحات جدید برپایه پیش فرض هایی که از قبل تعریف شده اند ایجاد و تمامی لینک ها به طور خودکار بروز رسانی می شود. این فرآیند به طور کامل قابل بازرسی مجدد می باشد.بدون سیستم مدیریت محتوا (cms) : تمامی صفحات بااستفاده از صفحات قبل ایجاد می گردد. نقشه سایت و تمامی لینکها باید به طور دستی بروزرسانی گردند. ۴- طبقه بندی اطلاعات با سیستم مدیریت محتوا (cms) :اطلاعات توسط یک روش واحد طبقه بندی و در دسترس مشاهده کنندگان قرار می گیرد.بدون سیستم مدیریت محتوا (cms) : طبقه بندی اطلاعات توسط کاربر صورت می گیرد و به ازای تغییر در طبقه بندی، تغییرات در حجم زیادی صورت می گیرد. ۵- جستجو با سیستم مدیریت محتوا (cms) :جستجو در محتوی سایت به دلیل رعایت قالب ها، نمایه سازی صفحات در زمان ایجاد سریع و کارا است. و از یک مکانیزم عمومی برای جستجو در کل سایت استفاده می شود.بدون سیستم مدیریت محتوا (cms) : روالهای جستجو در بخش های مختلف متفاوت است. وظیفه نمایه سازی و ایجاد تسهیلات لازم برای جستجو در یک بخش به صورت دستی صورت می گیرد. ۶-یکنواختی و یکسانی محتوی:با سیستم مدیریت محتوا (cms) : الگوها از محتویات سایت مجزا می باشند و در نتیجه به طور یکسان و یکنواخت قابل بکارگیری هستند.بدون سیستم مدیریت محتوا (cms) : محتوی و الگوهای نمایش به طور کامل آمیخته هستند و در نتیجه تغییرات در سایت را با مشکل روبرو می سازند. ۷- تغییر قالب نمایشی سایت:با سیستم مدیریت محتوا (cms) : به دلیل جدا بودن محتوی از الگوها و قالب های نمایش به سادگی می توان ظاهر سایت را تغییر داد. بدون سیستم مدیریت محتوا (cms) : به دلیل یکپارچگی محتوی و قالب های نمایشی، تغییر ظاهر سایت به محتوی سایت نیز مرتبط می گردد. ۸-فرآیند جریان کار با سیستم مدیریت محتوا (cms) :موتور جریان کار CMS با اجرای خودکار فرآیند انتشار محتوی و ضبط تمامی عملیات جهت وارسی و بازرسی مجدد در مراحل مختلف، پس از تایید نهایی محتوی به صورت خودکار منتشر می شوند.بدون سیستم مدیریت محتوا (cms) : جریان کار عموما توسط email به صورت دوره های خاص مشخص می شود. Email ها به افراد مختلف سازمان ارسال می شوند و در نتیجه با تایید نهایی محتوی به صورت دستی منتشر می شوند. ۹- زمان انتشار با سیستم مدیریت محتوا (cms) :محتوی به سرعت و پس از تایید به صورت خودکار منتشر می شود.بدون سیستم مدیریت محتوا (cms) : محتوی در زمانهایی که مدیر سایت در دسترس باشد بروز رسانی می گردند. چند روز برای رفع خطا ها و پیکر بندی مجدد صرف می گردد. ۱۰- شواهد حقوقی با سیستم مدیریت محتوا (cms) :شواهد تغییر و یا انتشار اطلاعات بطور خودکار توسط سیستم ضبط می شود.بدون سیستم مدیریت محتوا (cms) : جمع آوری شواهد و ضبط آنها از وظایٿ افراد است. تغییرات به صورت دستی و ایجاد log از محتوی به سختی و به صورت دستی تهیه می شود.

تفاوت پورتال با وب سایت در چیست؟

ارائه یک تعریف مشخص از پورتال همواره یک چالش بوده است. شاید واژه پورتال (به معنی دروازه یا محل ورود به یک شهر)، تا بحال بیشترین کاربرد را در IT داشته است. طبق تعاریفی که تا بحال ارائه شده است، پورتال را می توان یک مرکز ارائه خدمات و اطلاعات اینترنتی دانست که بر چهار پایه اصلی استوار است:۱) انطباق پذیری۲) اختصاصی کردن۳) یکپارچه سازی۴) پشتیبانی انجمنهای اینترنتیپورتال یک سیستم کاربر محور است. به این معنی که تمام امکانات پورتال بر این اساس پیش بینی شده است تا جوابگوی نیاز های کاربران با سلایق، علاقمندیها، سنین و رده های کاری متفاوت باشد. امکاناتی مثل پست الکترونیکی، گفتگو ، انجمنهای اینترنتی و … همه برای آن است که کاربران را به هر شکل ممکن به پورتال دعوت نماید.درحالیکه یک وب سایت، یک سیستم موضوع محور است. درست است در هر وب سایت، امکاناتی برای کاربران مختلف پیش بینی می شود، اما باید به این نکته توجه داشت که کاربری که با یک وب سایت کار می کند باید به شکلی به موضوع وب سایت مرتبط یا علاقمند باشد. و بالاخره اینکه، یکی از مهمترین جنبه های تفاوت بین پورتال و وب سایت جنبه اقتصادی آن است. پورتال ها عموماً برای کسب درآمد ساخته شده اند. بیشتر پورتال ها درآمد های خود را از طریق تبلیغات کسب می نمایند.اما سیستم مدیریت محتوا (cms) همانطور که از اسم CMS پیداست برای مدیریتت محتوای سایت استفاده می شود مثلا سایتی رو فرض کنید که هر روز یک نرم افزار درر بخش های مختلف معرفی میکند خوب اینجا به راحتی می توان از یک CMS استفاده کرد که بخش های مختلف رو پشتیبانی کند. اینجا شما می توانید یه ساختار کلی برای اکثر بخش ها در نظر بگیرید!اما پرتال ها عموما از یک مجموعه application ها یا برنامه ها ساخته می شوند که در آن کارهای هر بخش جدا از سایر بخش ها انجام میشود! یعنی نمی توانید مثل حالت اول برای آن یه چهارچوب یا ساختار مشخص در نظر بگیرید مثلا سایت Yahoo! رو در نظر بگیرید دارای قسمت های مختلفی است که معمولا در قالب CMS قابل تعریف نیست! بعضی مواقع می توان CMS ها رو هم با کمی تغییر به جای پرتال ها استفاده کرد اما کار معقولی به نظر نمی آید.

 
انواع سیستم مدیریت محتوا (cms) به لحاظ نرم افزاری

 سیستم های مدیریت محتوا یا cmsها دارای انواع گوناگونی هستند . از نظر طرز تلقی نرم افزار از محتوا و سیاست کلی و محوری به روزرسانی , سیستم های مدیریت محتوی می توانند در یکی از دسته های زیر طبقه بندی شوند : 

سیستم مدیریت محتوای صفحه محور (page base cms) :

این نرم افزارهای مدیریت محتوا (cmsها) واحد اطلاعاتی وب سایت را صفحه در نظر گرفته اند . به عبارت دیگر سایت را هویتی متشکل از صفحات می دانند و لذا تمام سعی خود را مصروف مدیریت صفحه می کنند و به مدیر سایت امکان ایجاد صفحاتی مجزا , دارای لینک به دیگر صفحات , و قابل ذخیره سازی روی سرور هاست به یکی از فرمت های htm , html , asp , php , jsp , … را می دهند . نقطه کمال اینگونه سیستم های مدیریت محتوا یا CMS ها حداکثر پیاده سازی محیطی با توانایی های macromedia dreamwaver است . جستجو در این سایت ها بر اساس اطلاعات متنی موجود در صفحات است و عبارت search شده را در هر صفحه ای که یافت , لینک آن صفحه را خواهد آورد . استفاده از اینگونه نرم افزارهای مدیریت محتوا دارای ویژگی ها و مزایا و معایبی است :1- با اینگونه سیستم های مدیریت محتوا یا cms ها می توان وب سایت های مقیاس کوچک (small web) – از 10 صفحه تا 100صفحه – و وب سایت های مقیاس متوسط (medium web) – از 100 صفحه تا 1000 صفحه – را پیاده سازی کرد . لکن راهه اندازییی سایت های مقیاس بزرگ (large web) – از 1000 تا 10000 صفحه – و بالاتر باا چنیننن سیستم های مدیریت محتوایی میسر نیست. زیرا اینگونه نرم افزارهایی مدیریتتت محتوی , اصولا از بانک اطلاعاتی استفاده نمی کنند و ایجاد صفحات بصورت دستی است .
2-اینگونه سیستم های مدیریت محتوا یا cms ها ، انعطاف پذیری فوق العاده ای در طراحی دلخواه ظاهر گرافیکی صفحات اصلی و صفحات داخلی وب سایت در اختیار می گذارند ، به نحوی که کاربر می تواند هر کدام از صفحات داخلی خود را به نحو دلخواه طراحی کند.البته تغییر کلیات گرافیکی وب سایت از صفحات اول به صفحات داخلی , در هیچ وب سایت رسمی جایگاهی ندارد و اگر در سایتی مانند yahoo با حرکت به صفات داخلی شمای وب سایت عوض می شود به این خاطر است که مثلا بخش آب و هوای یاهو weather.yahoo.com خود در واقع وب سایتی مجزا با کارکردی مجزا است که بصورت زیرمجموعه ای از مجموعه عظیم یاهو دیده می شود .3- کاربری که قصد دارد سایت خود را با چنین نرم افزارهای مدیریت محتوایی مدیریت کند , باید تا حدود زیادی از طراحی وب و html سر در بیاورد . به عبارت دیگر کاربری این سیستم های مدیریت محتوا , مانند کاربری microsoft front page یا macromedia dreamwaver می باشد با این تفاوت که این نرم افزار تحت وب است .امروزه که نرم افزارهای microsoft front page یا macromedia dreamwaver خود امکان اتصال با وب هاست را دارند و کسی که به کاربری انها آشنا باشد براحتی می تواند از روی کامپیوتر خود سایت را بصورت page base مدیریت کند ، نیازی به خرید نرم افزار سیستم مدیریت محتوای تحت وب به شکل صفحه محور نیست . 

سیستم مدیریت محتوای قابلیت محور (future base cms):

این گونه سیستم های مدیریت محتوا یا cmsها بر اساس قابلیت های مورد نیاز مشتریان بنیان گذاری شده اند . به عبارت دیگر اکثر وب سایتهای اطلاع رسانی و پرتال های اینترنتی متشکل از بخش های مختلفی می شوند که معمولا عبارت است از : مدیریت منو ، مدیریت گالری تصاویر یا آلبوم عکس ، مدیریت اعضا ، مدیریت لینکستان و … .بنابراین ، در اینگونه از نرم افزارها ی مدیریت محتوا , مدیر سایت ، صفحات را مدیریت نمی کند , بلکه با استفاده از قابلیت های مذکور , محتوا را وارد در ساختار بانک اطلاعایتی می نماید و سپس خود نرم افزار مدیریت محتوا یا cms ، اطلاعات را در قالب صفحات سازماندهی خواهد کرد .به این ترتیب مدیر وب سایت بدون آشنایی با آنچه در پس پرده مسائل فنی اتفاق می افتد اطلاعات را در فرم ها وارد کرده و سیستم با ذخیره سازی این اطلاعات در بانک اطلاعاتی , سایت را سازماندهی می کند . محاسن و معایب این گونه از نرم افزارهای مدیریت محتوا عبارتند از : با اینگونه سیستم های مدیریت محتوا یا cms ها می توان علاوه بر سایت های مقیاس کوچک و مقیاس متوسط , وب سایت های مقیاس بزرگ (large web) – از 1000 تا 10000 صفحه – و بالاتر را نیز به راحتی طراحی و پیاده سازی نمودددد . زیرا اینگونه نرم افزارهای مدیریت محتوا , اصولا از بانک اطلاعاتی استفادهه مییی کنند و ایجاد صفحات بصورت اتوماتیک است .اینگونه نرم افزارهای مدیریت محتوا یا cms ها انعطاف زیادی در طراحی ظاهر گرافیکی ساختار کلی سایت ندارند و لذا همیشه شمای گرافیکی ثابتی بر همه صفحات حاکم است .

معماری برنامه های تحت وب

 nazanin در  18/03/10هنگامی که یک برنامه تحت وب ایجاد می کنیم نیازی نیست که چیزی را به کاربران آن برنامه بدهیم تا آن برنامه را روی سیستم خود نصب کنند و به واسطه ی آن بتوانند از برنامه استفاده کنند. بلکه فقط کافی است پوشه های مربوط به برنامه را روی یک سرور قرار بگیرد. و کاربر می تواند تنها با اتصال به اینترنت صفحات مربوط به برنامه موردنظر را از طریق موتورهای جستجوگر مشاهده کند.اجزای اصلی برنامه های تحت وبدر ساده ترین حالت، یک برنامه ی تحت وب شامل چندین صفحه وب است. همچنین برای اینکه کاربران بتوانند به این صفحات دسترسی داشته باشند به یک سرور و یک مرورگر اینترنتی نیاز است. معمولا مرورگر درخواستی درخواستی را ایجاد می کند که داده های یکی از صفحات از وب موجود در سرور را دریافت کند تا داده های ارسال شده از سمت سرور از طریق همان مرورگر به کاربر نمایش داده میشود. صفحه ای که به کاربر نشان داده میشود شامل کدهای html, css و یا اسکریپت های سمت کلاینت است.