خانه / بایگانی برچسب: php

بایگانی برچسب: php

جستجوی تمام متن در لاراول با استفاده از Scout — به زبان ساده

جستجوی تمام متن یک قابلیت ضروری جهت فراهم ساختن امکان حرکت در میان صفحه‌های وب‌سایت‌های با محتوای گسترده است. در این مقاله، شیوه پیاده‌سازی امکان جستجوی تمام متن را برای یک اپلیکیشن لاراول بررسی می‌کنیم. در واقع ما از کتابخانه Scout لاراول استفاده می‌کنیم که پیاده‌سازی جستجوی تمام متن را به امری ساده و جذاب تبدیل کرده است. مستندات رسمی، کتابخانه Scout لاراول را به صورت زیر توصیف می‌کنند: کتابخانه Scout لاراول یک راه‌حل ساده و مبتنی بر درایور برای افزودن امکان جستجوی تمام متن به مدل‌های Eloquent ارائه می‌کند. Scout با استفاده از «مشاهده‌گرهای مدل» (model observers) به طور خودکار اندیس‌های جستجو را در وضعیتی همگام‌سازی شده با رکوردهای Eloquent حفظ می‌کند. کتابخانه Scout لاراول به مدیریت دستکاری اندیس‌ها در زمان بروز تغییراتی در داده‌های مدل می‌پردازد. جایی که داده‌های اندیس می‌شوند به درایوری وابسته است که برای کتابخانه Scout پیکربندی‌شده است. در حال حاضر کتابخانه Scout از Algolia پشتیبانی می‌کند که یک API موتور جستجوی مبتنی بر کلود است و ما نیز در این مقاله از آن برای نمایش پیاده‌سا..

توضیحات بیشتر »

ساخت کپچا (CAPTCHA) و فرم تماس با PHP — از صفر تا صد

برنامه نویسان همواره کدهایی برای خودکارسازی فرایندهای مختلف می‌نویسند. در واقع ما از این واقعیت که رایانه‌ها بسیار سریع‌تر و دقیق‌تر از انسان‌ها عمل می‌کنند، استفاده کرده و بدین ترتیب انجام بسیاری از کارهای خسته‌کننده را ساده‌تر می‌سازیم. متأسفانه از همین امکانات می‌توان برای برنامه‌نویسی رایانه‌ها جهت انجام کارهای مخرب مانند ارسال اسپم یا حدس زدن رمزهای عبور نیز استفاده کرد. در این نوشته به معرفی یکی از قدیمی‌ترین روش‌های مبارزه با اسپم یعنی CAPTCHA و روش پیاده‌سازی آن در PHP خواهیم پرداخت. فرض کنید وب‌سایتی با یک فرم تماس دارید که موجب می‌شود بازدیدکنندگان بتوانند با شما در تماس باشند. تنها کاری که بازدیدکنندگان باید انجام دهند، این است که فرم را پر کنند و دکمه ارسال را بزنند تا شما در مورد مشکل یا درخواستی که دارند مطلع شوید. این یک ویژگی مهم برای وب‌سایت‌هایی است که در دسترس عموم هستند؛ اما کاربران خرابکار می‌توانند فرایند پر کردن فرم را به صورت خودکار درآورند و بدین ترتیب اسپم‌های بسیار زیادی به شما ارسال کنند. این نوع از تکنیک اسپم کردن تنها محدود به فرم‌های تماس نیست. ربات‌ها م..

توضیحات بیشتر »

ایجاد اسکریپت و فرم ایمیل با PHP — به زبان ساده

فرم‌ها در صفحات وب می‌توانند برای مقاصد مختلفی مورد استفاده قرار گیرند و یکی از این موارد، ایجاد ارتباط بین بازدیدکنندگان و مالکان یک وبسایت است. در بخش قبلی این نوشته به شیوه ایجاد «یک فرم تماس با امکانات کامل در PHP» پرداختیم. در این راهنما روی ایجاد فرم ایمیل با PHP متمرکز می‌شویم که برای مقاصد دیگر، مانند گردآوری اطلاعات متقاضایان استخدام، رزرو اتاق‌های هتل و غیره استفاده می‌شوند. انتخاب فیلدهای مناسب برای فرم در راهنمای فرم تماس با ما آموختیم که سازمان‌ها و وب‌سایت‌های مختلف احتمالاً می‌خواهند اطلاعات خاصی را از افرادی که با آن‌ها تماس می‌گیرند داشته باشند تا بتوانند به بهترین روش ممکن به آن‌ها پاسخ دهند. برای نمونه یک فرم تماس با ما در وب‌سایت یک مدرسه ممکن است از والدین بخواهد که اطلاعاتی در مورد فرزندشان که در مدرسه ثبت نام کرده است ارائه کنند. به طور مشابه فرم تماس با ما در یک وب‌سایت فروشگاهی احتمالاً اطلاعاتی در مورد آخرین محصولی که افراد از فروشگاه سفارش داده یا خریداری کرده‌اند گردآوری می‌کند تا پاسخ‌های بهتری به مشتریانش بدهد. حال که دیدیم فرم‌های تماس در میان وب‌سایت‌ه..

توضیحات بیشتر »

استفاده از AJAX در PHP و jQuery — راهنمای مقدماتی

در این نوشته به مبانی AJAX و شیوه استفاده از آن در PHP می‌پردازیم. تکنیک AJAX جهت بهبود رابط کاربری و بهینه‌سازی کلی تجربه کاربر نهایی عرضه شده است. AJAX چیست؟ اختصاری برای عبارت «جاوا اسکریپت و XML ناهمگام» (Asynchronous JavaScript and XML) است و امکان واکشی ناهمگام محتوا از سرور بک‌اند بدون نیاز به رفرش کردن صفحه را فراهم می‌سازد. از این رو می‌توانیم محتوای یک صفحه وب را بدون نیاز به بارگذاری مجدد آن به‌روزرسانی کنیم. در ادامه به بررسی یک مثال می‌پردازیم تا شیوه استفاده از AJAX را در توسعه اپلیکیشن‌های روزمره خود متوجه شویم. فرض کنید می‌خواهیم یک صفحه بسازیم که اطلاعات پروفایل یک کاربر را نمایش دهد و دارای بخش‌های مختلفی مانند اطلاعات شخصی، اطلاعات اجتماعی، اعلان‌ها، پیام‌ها و موارد دیگر است. رویکرد معمول می‌تواند این باشد که صفحه‌های وب مختلفی برای هر بخش بسازیم. بدین ترتیب برای مثال کاربران باید روی لینک اطلاعات اجتماعی کلیک کنند تا مرورگر بارگذاری مجدد شود و یک صفحه حاوی اطلاعات اجتماعی را نشان دهد. این کار باعث می‌شود که ناوبری بین بخش‌های مختلف صفحه کُندتر شود، چون کاربر باید..

توضیحات بیشتر »

بهینه سازی عملکرد اپلیکیشن های PHP — به زبان ساده

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

توضیحات بیشتر »

روش آپلود فایل در PHP — راهنمای عملی به همراه مثال

در این مقاله در مورد مقدمات آپلود فایل در PHP صحبت خواهیم کرد. در ابتدا گزینه‌های پیکربندی PHP که برای آپلود موفق فایل‌ها ضروری هستند را بررسی می‌کنیم. سپس یک مثال واقعی از روش انجام این کار را معرفی خواهیم کرد. پیکربندی تنظیمات PHP چند تنظیم در PHP وجود دارند که باید پیش از آپلود موفق فایل در PHP بررسی شوند. در این بخش هر یک از آن‌ها را بررسی کرده و در مورد آن‌ها توضیحاتی ارائه می‌کنیم. این گزینه‌ها را می‌توانید در فایل php.ini پیکربندی کنید. اگر مطمئن نیستید که این فایل روی سیستم شما در کدام مسیر قرار دارد می‌توانید از دستور ()php_ini_loaded_file برای یافتن آن استفاده کنید. کافی است یک فایل PHP روی سرور خود ایجاد کرده و خط کد زیر را درون آن قرار دهید و سپس آن را در مرورگر باز کنید: در ادامه خلاصه‌ای از این فایل به همراه مقادیر پیش‌فرض مفید ارائه شده است: ; Whether to allow HTTP file uploads. file_uploads = On ; Temporary directory for HTTP uploaded files. ; Will use system default if not set. ;upload_tmp_dir = ; Maximum allowed size for uploaded ..

توضیحات بیشتر »

رندر کردن اشکال هندسی و متن روی تصاویر با PHP — به زبان ساده

PHP یک کتابخانه به نام GD برای دستکاری تصاویر دارد. اما با استفاده از این کتابخانه، علاوه بر دستکاری تصاویر موجود می‌توان تصاویری را از صفر نیز ایجاد کرد. تابع‌های مختلفی در این کتابخانه وجود دارند که می‌توانند برای ترسیم شکل‌هایی مانند بیضی، دایره، مستطیل، چندضلعی، و خطوط ساده مورد استفاده قرار گیرند. با بهره‌گیری از برخی معادله‌های ریاضی می‌توان الگوهای زیبایی با استفاده از این کتابخانه ایجاد کرد. تابع‌هایی نیز برای قرار دادن متن روی تصاویر رندر شده وجود دارند که امکانات زیادی در اختیار ما قرار می‌دهند. در این راهنما با روش رسم شکل‌های ساده در PHP و چگونگی رندر کردن متن با استفاده از فونت دلخواه آشنا می‌شویم. رسم شکل‌های ساده در PHP با استفاده از GD ما در این بخش با شکل‌های ساده آشنا می‌شویم و سپس ضخامت خط، قلم‌موها و سبک‌های مختلف خطوط را نیز در ادامه بررسی می‌کنیم. رسم خطوط شما می‌توانید با استفاده از تابع زیر یک خط ساده مستقیم بین دو نقطه مفروض رسم کنید: imageline($image, $x1, $y1, $x2, $y2, $color) پارامتر image$ یک منبع تصویر است که قبلاً با استفاده از تابع‌هایی مانند ()image..

توضیحات بیشتر »

محاسبات ریاضی با استفاده از تابع های داخلی PHP — به زبان ساده

عملیات مختلف ریاضیات مقدماتی به صورت مکرر در زمان برنامه‌نویسی مورد نیاز هستند. در این موارد، هنگام نوشتن کد باید به طور مکرر مقادیر مختلف را مقایسه، جمع، ضرب، تفریق و تقسیم بکنیم. برخی اوقات عملیات ریاضی مورد نیاز در یک برنامه بسیار پیچیده‌تر از این است. در این موارد باید بتوانید با لگاریتم‌ها، مثلثات یا تابع‌های نمایی کار بکنید. در این راهنما به بررسی شیوه استفاده از هر یک از تابع های داخلی PHP به همراه ارائه مثال‌ها می‌پردازیم. این راهنما به معرفی تابع‌های داخلی ریاضیاتی PHP برای اجرای محاسبات مثلثاتی، نمایی و لگاریتمی اختصاص دارد. همچنین به بررسی روش گرد کردن اعداد و ایجاد اعداد تصادفی می‌پردازیم. تابع‌های مثلثاتی در PHP در زبان برنامه‌نویسی PHP با استفاده از تابع‌های (sin($angle)، cos($angle و (tan($angle می‌توان به ترتیب سینوس، کسینوس و تانژانت زوایای مختلف را که بر اساس رادیان بیان شده‌اند پیدا کرد. همه این تابع‌ها مقادیر float بازمی‌گردانند و مقدار دریافتی آن‌ها باید زاویه بر مبنای رادیان باشد. این بدان معنی است که وقتی مقدار (tan(45 را محاسبه کنیم، مقدار 1 به دست می‌آید، زی..

توضیحات بیشتر »

ایجاد یک فرم تماس در PHP — صفر تا صد

هر نوع وب‌سایتی که ایجاد یا مدیریت می‌کنید، در هر صورت به یک فرم تماس با ما نیاز خواهید داشت. فرم تماس به بازدیدکنندگان وب‌سایت کمک می‌کند که از صاحب وب‌سایت قیمت بگیرند، سؤالی بپرسند یا هر نظر یا مشکلی که هنگام کار کردن با وب‌سایت با آن مواجه شده‌اند را با مالک آن در میان بگذارند. در این راهنما تمرکز ما روی ایجاد یک فرم تماس در PHP با همه کارکردها از صفر تا صد خواهد بود. در این چارچوب کار خود را با طراحی نشانه‌گذاری همه فیلد‌هایی که لازم داریم و سبک‌بندی ابتدایی فرم تماس آغاز می‌کنیم. پس از آن به بخش کدنویسی PHP می‌رسیم و کارکردهای فرم تماس را پیاده‌سازی می‌کنیم. البته ساده‌ترین روش برای ایجاد فرم تماس این است که از ماژول‌های آماده فراوانی که به این منظور وجود دارند استفاده کنید؛ اما اگر می‌خواهد در مورد روش ساخت فرم تماس بیشتر بدانید، می‌توانید به مطالعه این مقاله ادامه بدهید، چون این کار به احتمال زیاد بسیار ساده‌تر از آن چیزی است که تصور می‌کنید. طراحی HTML فرم تماس نخستین گام در مسیر ایجاد یک فرم تماس کدنویسی بخش نشانه‌گذاری (Markup) آن است. این کار را زمانی آغاز می‌کنیم که فهرس..

توضیحات بیشتر »

شی گرایی در PHP به همراه معرفی مفهوم کلاس و شی — به زبان ساده

در این مقاله قصد داریم مبانی شی گرایی در PHP را بررسی کنیم. در ابتدا به معرفی کلاس‌ها و شیءها خواهیم پرداخت و چند مفهوم پیشرفته مانند وراثت و چندریختی را در ادامه مورد بررسی قرار می‌دهیم. برنامه‌نویسی شیءگرا (OOP) یعنی چه؟ برنامه‌نویسی شیءگرا که به طور معمول به نام OOP شناخته می‌شود، رویکردی است که به ما کمک می‌کند تا اپلیکیشن‌های پیچیده را به طرزی بنویسیم که به سادگی قابل نگهداری بوده و در بلند مدت مقیاس‌پذیر باشند. در دنیای OOP، با موجودیت‌های دنیای واقعی مانند Person, Car یا Animal به عنوان شیء رفتار می‌شود. در برنامه‌نویسی شیءگرا ما با اپلیکیشن‌ها از طریق استفاده از شیءها تعامل داریم. این وضعیت مخالف برنامه‌نویسی رویه‌ای است که در آن به طور عمده با تابع‌ها و متغیرهای سراسری سر و کار داریم. در OOP مفهومی به نام کلاس وجود دارد که برای مدلسازی یا نگاشت موجودیت‌های دنیای واقعی به یک قالب از داده‌ها (مشخصات) و کارکردها (متدها) استفاده می‌شود. شیء (object) وهله‌ای از یک کلاس محسوب می‌شود و می‌توان چندین وهله از یک کلاس داشت. برای نمونه ممکن است یک کلاس منفرد person وجود داشته باشد؛ اما..

توضیحات بیشتر »