آشنایی با Twig PHP Template Engine

Twig PHP Template Engine

در این مطلب کوتاه تلاش می‌کنیم در زمانی کوتاه با Twig Template Engine آشنا شویم.

یک قالب Twig فایلی متنی است که برای تولید هرگونه محتوا( HTML, CSS, Javascript, XML, CSV, LaTeX, … ) به کار می‌رود. عناصر به کار رفته در یک قالب Twig با علامت‌های زیر از بقیه‌ی عناصر محتوا جدا می‌شوند:

  • {{ … }}: برای چاپ محتوای یک متغیر یا نتیجه‌ی یک محاسبه به کار می‌رود.
  • {% … %}: برای انجام عملیات منطقی به کار می‌رود. مثلا ایجاد حلقه‌ها یا محدوده‌های شرطی با کمک این علامت به انجام می‌رسد.
  • {# … #}: برای درج توضیحات درون کد به کار می‌رود.

ادامه‌ی خواندن

ارسال شده در PHP | برچسب‌شده , | ۴ دیدگاه

افزونه‌ی فارسی‌ساز وردپرس با بهینه‌سازی و رفع اشکال

وردپرس فارسیهنگامی که داشتم این وبلاگ را راه‌اندازی می‌کردم متوجه شدم افزونه‌ی فارسی‌ساز وردپرس «wp-jalali» با افزونه‌ی «wp-syntax» تداخل دارد و مانع عملکرد صحیح آن می‌شود
به همین دلیل کد منبع هر دو افزونه را بررسی کردم.
اشکال اصلی از عبارت‌های منظمی بود که در شناسایی و تبدیل اعداد فارسی به کار رفته بود
علاوه بر الگوریتم نامطمئن، بار سنگینی را نیز به سرور وارد می‌کرد

در چند مرحله این افزونه را بهسازی و رفع اشکال کردم
تغییرات را برای توسعه‌دهندگان افزونه فرستادم، با این حال به هر دلیل افزونه‌ی قدیمی را بدون تغییر در ویرایش جدید وردپرس نیز انتشار دادند

چنانچه مایل باشید می‌توانید افزونه‌ی تغییریافته را از این پیوند دریافت کنید

برای مشاهده‌ی شکل عملکرد افزونه‌ی تغییر یافته می‌توانید همین وبلاگ را بررسی کنید

به‌روزرسانی – ۱۴ دی ۱۳۹۱

آخرین تغییرات اعمال شده در نگارش ۴.۴ افزونه‌ی اصلی در نسخه‌ی بهسازی شده نیز پیاده‌سازی شد.

به‌روزرسانی – ۱۷ آبان ۱۳۹۲

آخرین تغییرات اعمال شده در نگارش ۴.۵ افزونه‌ی اصلی در نسخه‌ی بهسازی شده نیز پیاده‌سازی شد.

به‌روزرسانی – ۱۱ دی ۱۳۹۲

آخرین تغییرات اعمال شده در نگارش ۴.۵.۱ افزونه‌ی اصلی در نسخه‌ی بهسازی شده نیز پیاده‌سازی شد.

به‌روزرسانی – ۱ تیر ۱۳۹۳

آخرین تغییرات اعمال شده در نگارش ۴.۵.۲ افزونه‌ی اصلی در نسخه‌ی بهسازی شده نیز پیاده‌سازی شد.

ارسال شده در PHP, برنامه‌نویسی, وردپرس | برچسب‌شده , | ۱۲ دیدگاه

آشنایی با فریم‌ورک پی‌اچ‌پی Slim

فریم ورک Slim

تمایل به افزایش سرعت و افزایش توسعه‌پذیری برنامه‌نویسی روز به روز در حال افزایش است. به همین دلیل چندین فریم‌ورک php با ویژگی‌های مختلفی توسعه پیدا کرده‌اند که می‌توانند برنامه‌نویسان را در رسیدن به این دو هدف یاری کنند.

Slim یک فریم‌ورک در ابعاد کوچک است که امکانات خوبی را برای پروژه‌هایی با ابعاد کوچک و متوسط در اختیار برنامه‌نویسان قرار می‌دهد.

ویژی‌های فریم‌ورک Slim

  • مسیریابی قدرتمند
    • متدهای استاندارد و سفارشی HTTP
    • پارامترهای مسیریابی با پشتیبانی از Wildcard
    • تغییر مسیر، توقف و رد کردن
    • مسیرهای میان‌افزار
  • نمایش قالب با Viewهای سفارشی
  • برگرداندن پیام‌ها
  • کوکی‌های ایمن با کدگذاری ۲۵۶ بیتی
  • کش کردن http
  • سیستم لاگ با امکان سفارشی‌سازی محل ذخیره
  • خطایابی و پردازش اشکال‌ها
  • معماری Hook و میان‌افزار
  • تنظیمات ساده

Slim برای اجرا به PHP 5.3.0 یا بالاتر نیازمند است
از ویژگی‌های خوب این فریم‌ورک امکان استفاده از Eloquent ORM مخصوص Laravel برای مدیریت پایگاه داده است. برای مشاهده‌ی روش انجام این کار اینجا کلیک کنید.

برای دانلود فریم‌ورک Slim و مشاهده‌ی مستندات اینجا کلیک کنید

ارسال شده در PHP, برنامه‌نویسی, عمومی | دیدگاه‌تان را بنویسید

آشنایی با ۱۲ توزیع مشهور لینوکس

اوبونتو( Ubuntu )

اوبونتو در گذشته به عنوان توزیع استاندارد برای تازه‌کارها به شمار می‌آمد. ولی بر اساس جامعه‌ی کاربران، این جایگاه دیگر به اوبونتو تعلق ندارد. این جمله به معنی بی‌استفاده بودن اوبونتو نیست. به احتمال زیاد اوبونتو به همراه اولین تبلت لینوکسی مورد استفاده قرار خواهد گرفت.

مینت( Linux Mint )

این توزیع به طور خاص بهترین گزینه برای تازه‌کارها به شمار می‌رود. مینت ویژگی‌های کابرپسندی در اوبونتو ارائه کرد و GNOME 3 را توسعه داد. ترکیب این دو محیطی فوق‌العاده برای کاربران تازه‌کار و همچنین کاربران قدیمی لینوکس فراهم می‌کند.

فدورا( Fedora )

اگر به دنبال توزیعی حرفه‌ای هستید، فدورا بهترین انتخاب برای شماست.

دبین( Debian )

اگر به دنبال محیطی برای برنامه‌نویسی هستید، دبین برای شما ساخته شده است. توزیع دبین، پایه‌ی توسعه‌ی اوبونتو به شمار می‌رود. مدیریت دبین به دلیل بهره‌گیری از ابزار مدیریت بسته‌ی apt بسیار آسان است.

پاپی( Puppy Linux )

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

اوپن سوزه( OpenSUSE )

اوپن سوزه از رابط کاربری KDE به همراه محیط مدیریتی یکپارچه بهره می‌برد. اگر به دنبال کارکردن چند زبانه هستید، این توزیع برای شما مناسب است.

سنت او اس( CentOS )

اگر به دنبال توزیعی حرفه‌ای و سازمانی هستید ولی نمی‌خواهید بهای ردهت( RedHat ) را بپردازید، بهترین گزینه برای شما «سنت او اس» است. این توزیع می‌تواند سرور میل، سرور وب، DNS، DHCP و … را اجرا و پشتیبانی کند.

ردهت( Red Hat Linux )

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

جنتو( Gentoo )

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

دمن والنربل لینوکس( Damn Vulnerable Linux )

این توزیع لینوکس از روی عمد حاوی برنامه‌ها و ابزارهای کاربردی است که هر یک اشکال‌های امنیتی در خود دارند. مورد استفاده‌ی آن برای آموزش مدیران شبکه و سیستم است.

آرچ لینوکس( Arch Linux )

آرچ از سیستم انتشار منظمی پیروی می‌کند. با یک بار نصب آن می‌توانید بدون نیاز به نصب مجدد، همیشه آخرین نگارش را در اختیار داشته باشید. این نگارش ابزاری مناسب برای توسعه دهندگان است تا نکات درونی سیستم‌عامل را متوجه شوند.

کالی( Kali Linux )

این توزیع بر پایه‌ی دبین توسعه پیدا کرده است و امکان تست نفوذ را فراهم می‌کند. کالی حاوی ابزارهای مختلف نفوذ از جمله وای‌فای، پایگاه داده، و … است. کالی از APT برای مدیریت بسته‌های نرم‌افزاری استفاده می‌کند.
منبع

ارسال شده در عمومی | برچسب‌شده | دیدگاه‌تان را بنویسید

قالب رایگان بخش مدیریت – ۱

قالب رایگان بخش مدیریت امیب ۱

قالب رایگان بخش مدیریت امیب ۱
آزمون شده با فایرفاکس، کروم، اینترنت اکسپلورر
سازگار با استانداردهای HTML5 و CSS3
استفاده از LESS برای طراحی CSS
پشتیبانی از منوهای تو در تو و انیمیشن بدون نیاز به جاوااسکریپت
سازگار با گوشی‌های هوشمند فاقد Mouse Hover
طراحی تخت

برای دریافت قالب اینجا کلیک کنید

ارسال شده در قالب سایت | برچسب‌شده , , | ۵ دیدگاه

استفاده از واحد «درصد» مقابل background-position در CSS

دستور background-position وظیفه دارد تا محل شروع برای تصویر پس‌زمینه‌ی یک عنصر را تغییر دهد. در هنگام طراحی یک سایت واکنش‌گرا یا Responsive با استفاده از تعیین مکان «درصدی» تصویر می‌توان یک پس‌زمینه‌ی Responsive در اختیار داشت. با این حال برای استفاده‌ی صحیح از واحد «درصد» لازم است تا با شیوه‌ی خاص عملکرد آن آشنایی داشته باشیم.

برای شروع به مثال مقابل توجه کنید:

div {
	background-image: url( "amib.jpg" );
	background-repeat: no-repeat;
	background-size: 200%;
	width: 50%;
	background-position: 50% 0;
}

قطعه کد بالا، عنصر را به‌اندازه‌ی «۵۰%» عرض صفحه کوچک می‌کند، تصویر «amib.jpg» را به اندازه‌ی «۲۰۰%» فضای عنصر یا «۱۰۰%» عرض صفحه تغییر اندازه می‌دهد، نقطه‌ی «۵۰%» تصویر را پیدا می‌کند و آن را طوری جابجا می‌کند که این نقطه بر نقطه‌ی «۵۰%» عنصر «div» یک‌جا قرار بگیرند.
با این شرح، مقدار «۰%» تصویر را در منتها الیه سمت چپ عنصر و «۱۰۰%» آن را در منتها الیه سمت راست عنصر قرار خواهند داد.

حال اگر بخواهیم در مورد مثال بالا، عنصر div را در محلی غیر از ابتدا، انتها یا میانه‌ی تصویر قرار دهیم، لازم است تا درصد جابجایی تصویر را به صورت دقیق مشخص کنیم. برای مثال اگر بخواهیم سمت چپ عنصر در محل ۴۰ درصدی عرض صفحه و همچنین تصویر قرار بگیرد محاسبات به این صورت خواهند بود:

div.s1 {
	/*
	100x - 50x = 40
	50x = 40
	x = 40 / 50
	x = 0.8
	*/
	left: 40%;
	background-position: 80% 0;
}
 
div.s2 {
	/*
	100x - 50x = 33.333
	50x = 33.333
	x = 33.333 / 50
	x = 0.66666
	*/
	left: 33.333%;
	background-position: 66.666% 0;
}
ارسال شده در CSS | برچسب‌شده , , | دیدگاه‌تان را بنویسید

آموزش اصول طراحی سایت واکنش‌گرا( Responsive WebDesign )

طراحی وبسایت واکنش‌گرا

روز به روز بر تعداد کسانی که از ابزارهای قابل حمل برای دسترسی به اینترنت استفاده می‌کنند افزوده می‌شود. طراحی سایت به گونه‌ای که در هر عرض و طول صفحه قابل استفاده باشد اصطلاحا «طراحی واکنش‌گرا» یا «Responsive webdesign» نامیده می‌شود.

برای ایجاد یک طرح واکنش‌گرا دانستن چند نکته ضروری است که در این نوشته به اختصار آن‌ها را مرور می‌کنیم.

ادامه‌ی خواندن

ارسال شده در HTML | برچسب‌شده , | ۱۲ دیدگاه

مدیریت تاریخ و زمان در جاوااسکریپت با کمک Moment.js

momentjs
Moment.js نام یک کتابخانه‌ی جاوااسکریپت است. این کتابخانه وظیفه‌ی تحلیل، اعتبارسنجی، مدیریت و نمایش تاریخ و زمان در جاوااسکریپت را بر عهده دارد. از ویژگی‌های مهم این کتابخانه، سازگاری با محیط‌های گوناگون از جمله Node.js و همچنین انواع مرورگرهای متداول به شمار می‌رود.

اگرچه شیئ Date در جاوااسکریپت ویژگی‌های متنوعی برای کارکردن با تاریخ و زمان در اختیار برنامه‌نویسان قرار می‌دهد، ولی توسعه‌ی نرم‌افزارهای تحت وب تنها با استفاده از این ویژگی‌ها گاهی مشکل و ناهموار به نظر می‌رسد.

برای استفاده از کتابخانه‌ی Moment.js که از ده‌ها زبان مختلف و همچنین تاریخ هجری شمسی( با استفاده از افزونه‌ی جلالی ) پشتیبانی می‌کند، کافی است فایل اسکریپت آن را دریافت کنید و سپس در سرآمد صفحه‌ی وب خود آن را درج کنید:

<script src="moment.js"></script>

ادامه‌ی خواندن

ارسال شده در برنامه‌نویسی, جاوااسکریپت | برچسب‌شده , | ۴ دیدگاه

پیوند دادن حساب گوگل پلاس با سایت یا وبلاگ برای افزایش رتبه‌ی SEO

SEO - نمایش تصویر نویسنده در کنار نتایج گوگل

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

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

برای معرفی حساب کاربری گوگل پلاس به عنوان نویسنده‌ی سایت خود فرآیندی دو مرحله‌ای را باید به انجام برسانید

قرار دادن پیوند حساب کاربری گوگل پلاس در صفحات سایت یا وبلاگ

برای انجام این کار می‌بایست، در هر صفحه و هر مطلب سایت خود پیوندی به حساب کاربری گوگل پلاس خود قرار بدهید:

<a href="[profile_url]?rel=author">Google</a>

درج پیوند سایت در حساب کاربری گوگل پلاس

اکنون به حساب کاربری خود در گوگل پلاس مراجعه کنید و در سربرگ About بخش Links را بیابید. با اضافه کردن نشانی سایت خود به بخش Contributor to، گوگل شما را به عنوان یکی از نویسندگان سایت پیوند شده، شناسایی خواهد کرد.

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

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

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

منبع: راهنمای وبمستر گوگل

ارسال شده در HTML, برنامه‌نویسی | برچسب‌شده , | دیدگاه‌تان را بنویسید

آشنایی با رویدادهای سراسری ajax در jQuery

یکی از ویژگی‌های مفید jQuery در هنگام توسعه‌ی نرم‌افزارهای تحت وب، رویدادهای( event ) سراسری است. با تعریف این رویدادها می‌توانید در هنگام هر فراخوانی ajax در هر بخش از نرم‌افزار، آگاه شوید و عملیات دلخواه مانند نمایش عبارت «loading» یا جلوگیری از بارگزاری مجدد صفحه یا هر عمل متناسب دیگر را به انجام برسانید

رویدادهای سراسری jQuery برای ajax عبارتند از:

.ajaxComplete()

فراخوانی در هنگام پایان عملیات درخواست ajax
مستندات در سایت اصلی

.ajaxError()

فراخوانی در هنگام رویداد خطا در درخواست ajax
مستندات در سایت اصلی

.ajaxSend()

فراخوانی در پیش از ارسال درخواست ajax
مستندات در سایت اصلی

.ajaxStart()

فراخوانی در هنگام نخستین درخواست ajax
مستندات در سایت اصلی

.ajaxStop()

فراخوانی در هنگام به پایان رسیدن تمامی درخواست‌های ajax
مستندات در سایت اصلی

.ajaxSuccess()

فراخوانی در پایان عملیات ajax
مستندات در سایت اصلی

این رویدادها می‌بایست به شیء document پیوست شوند تا jQuery بتواند در هنگام نیاز آن‌ها را فراخوانی کند
در ادامه یک مثال برای نمایش پیام «در حال بارگزاری» به ازای هر درخواست را مشاهده می‌کنید:

<div id="loading">
	در حال بارگزاری
</div>
 
<script>
	$( document ).ajaxStart(function() {
		$( "#loading" ).show();
	} );
 
	$( document ).ajaxComplete(function() {
		$( "#loading" ).hide();
	} );
</script>
 
<script>
	$.ajax( 'http://amib.ir', {
		success: function( data ) {
			alert( data );
		}
	} );
</script>

منبع: مستندات jQuery

ارسال شده در برنامه‌نویسی, جاوااسکریپت | برچسب‌شده , | ۲ دیدگاه