آموزش PHP – جلسه هشتم: توابع

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

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

تابع (Function) چیست؟

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

۰aceda39-23c2-43ea-87c6-d98c6bef7bb2<?php
function MyFunc (){
//some oprates on code!
}
?>

همان‌طور که در کد بالا می‌بینید برای تعریف یک تابع ابتدا باید کلمه کلیدی function را نوشته و سپس نام موردنظر را برای تابع تایپ کنیم. سپس در صورتی که تابع ما نیاز به ورودی داشته باشد باید آن‌ها را در پرانتز مقابل نام تابع تعریف کنیم. در نهایت نیز عملیاتی که باید بر روی داده‌ها انجام شود بین } و { قرار داده می‌شود. دقت کنید در کد بالا ما نام تابع را MyFunc قرار داده‌ایم و این نام دلخواه است. فقط باید توجه داشته باشید در نامگذاری توابعی که تعریف می‌کنید، کلمات کلیدی پی‌اچ‌پی نظیر دستورات پیش‌فرض را به عنوان نام تابع نمی‌توانید انتخاب کنید.

در پی‌اچ‌پی می‌توان توابعی تعریف کرد که نیاز به ورودی نداشته باشند و این نوع توابع در واقع ساده‌ترین نوع ممکن توابع به حساب می‌آیند. به مثال زیر دقت کنید:

<?php
//define func
function bigHello()
{
echo “<h1>hello!</h1>”;
}

//call or using func
bigHello();
?>

در کد بالا ابتدا یک تابع به نام bigHello را معرفی کردیم و کد داخل آن را چاپ عبارت hello در بین تگ h1 تعیین کرده‌ایم. اما همان‌طور که اشاره شد تا زمانی که تابع را فراخوانی نکنیم هیچ اتفاقی نخواهد افتاد و به همین دلیل در خط بعدی با نوشتن نام تابع به صورتی که مشاهده می‌کنید آن را فراخوانی کرده‌ایم. نتیجه کد بالا چاپ عبارت Hello! در بین تگ h1 خواهد بود. حال شما می‌توانید به هر تعداد که می‌خواهید این تابع را فراخوانی کنید و طبیعتا به ازای هر بار فراخوانی تابع، یکبار کد داخل آن اجرا می‌شود.

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

پارامتر‌ها در توابع یا همان ورودی توابع

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

<?php

function myFunc ($name, $age)
{

echo “your name is $name and your age is $age”;

}

myFunc(“mojtaba”, “25”);

?>

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

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

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

<?php

function Zarb ($a, $b)
{
$c = $a * $b;
echo $c;
}

//using our Zarb Function
Zarb (3, 5);
?>

نتیجه اجرای کد بالا چاپ عدد ۱۵ در مروگر کاربر خواهد بود.  در مثال بالا ابتدا دو ورودی از کاربر گرفته و آن‌ها را در متغیرهایی به نام a و b ذخیره کرده‌ایم. سپس یک متغیر داخلی به نام c در تابع خود تعریف می‌کنیم و مقدار حاصل از ضرب a و b را در آن قرار می‌دهیم. سپس مقدار c را به عنوان خروجی تابع چاپ می‌کنیم.

استفاده از آرگومان‌های ورودی پیش‌فرض در توابع

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

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

<?php

function myFunc ($name = “mojtaba”)
{
echo $name;
}

myFunc();

?>

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

مقادیر بازگشتی در توابع

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

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

<?php
function Zarb($a, $b)
{
$c = $a * $b;
return $c;
}

echo Zarb(2,3);
?>

در مثال بالا برای روشن‌تر شدن موضوع ابتدا مقدار بازگشتی تابع Zarb را در متغیری به نام c ریخته‌ایم و سپس مقدار c را با دستور echo چاپ کرده‌ایم. نهایتا خروجی کد بالا عدد ۲۰ خواهد بود. حالا احتمالا به خوبی مفهوم مقدار بازگشتی در توابع را یاد گرفته‌اید.

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

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

منبع: زومیت

۵ قلم هوشمندی که نوشته و طراحی شما را به گوشی منتقل می‌کنند

قلم‌ها در دسترس‌ترین ابزاری هستند که می‌توانند اطلاعات موردنظر ما را ثبت کنند. با ظهور قلم‌های هوشمند، نوشته‌ها و تصاویری که رسم کرده‌ایم روی دستگاه‌های هوشمند هم قابل نمایش می‌شود. در ادامه با ما همراه باشید تا با ویژگی‌های این قلم‌ها بیشتر آشنا شوید.

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

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

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

در ادامه با ۵ قلم هوشمند آشنا شوید:

۱. قلم هوشمند Neo N2 ؛ ۱۶۹ دلار

۸۶a7dd6f-52cd-440f-9755-1b35a2b63405قلم هوشمند Neo قابلیت‌های معمول یک قلم هوشمند را دارد و می‌تواند محتوای نوشته را در خود ذخیره‌سازی کرده و بعد به دستگاه موردنظر انتقال دهد. قلم نئو قابلیت تشخیص ۲۵۶ سطح فشار را دارد و دقت معقولی از خود ارائه می‌دهد. البته به این نکته توجه داشته باشید که قلم نئو تنها با برگه‌های مخصوص خود سازگاری دارد. یکی دیگر از قابلیت‌های این قلم این است که متن نوشته‌شده را در حافظه‌ی داخلی خود ذخیره می‌کند. به طوری که می‌تواند محتوای ۱۰۰۰ صفحه‌ی دستنویس را در خود ذخیره کند. از اینرو شما می‌توانید با اپلیکیشن Neo Notes نوشته‌های خود را در اورنوت ذخیره کنید.

این اپلیکیشن قابلیت شناسایی ۱۵ زبان را دارد که از جمله‌ی آن می‌توان به زبان‌های انگلیسی، ژاپنی، چینی، آلمانی و کره‌ای اشاره کرد. ضمن این که به شما اجازه می‌دهد تا برای نوشته یا تصویر خود از رنگ‌بندی‌های متفاوت استفاده کنید. شما می‌توانید فایل‌های خود را به فرمت SVG ذخیره کنید و در صورت لزوم از طریق نرمافزارهای مخصوص طراحی، آن‌ها را ویرایش کنید.

۲. قلم اسمارت مارکر Equil ؛ ۶۹۹ دلار

۲e877256-e773-4343-949d-4f15b9762977با این قلم هوشمند می‌توانید متون را ضبط کرده و نوشته‌های رو تخته وایتبرد را به دستگاه دیجیتال خود انتقال دهید. روش اتصال Equil از طریق بلوتوث است. ضمن این که می‌تواند از طریق یک اپلیکیشن رایگان به نام Equil Note با دیگر دستگاه‌ها وارد ارتباط شود. فناوری به‌کار رفته در این قلم، این امکان را فراهم کرده است که روی سطح هر تخته وایتبردی قابل استفاده باشد. اگر چه قیمت این قلم بالا محسوب می‌شود اما ابزاری کاربردی برای معلمان و اساتید است تا اطلاعات خود را با دیگر همکاران به اشتراک بگذارند.

۳. قلم هوشمند WorldPenScan X؛ ۱۵۰ دلار

۶۱bd38e2-705c-4d0a-8332-723158666940این قلم هوشمند با اسکن مواد چاپی و ضبط واژه‌ها و جمله‌ها، می‌تواند آن‌ها را به دستگاه‌هایی چون آی‌پد، آیفون و گوشی‌های اندرویدی ارسال کند. با WorldPenScan X می‌توانید فایل‌های خود را اسکن و ویرایش کنید. نرم‌افزار مربوط به قلم، زبان‌های انگلیسی، کره‌ای، ژاپنی، فرانسوی، آلمانی، ایتالیایی، اسپانیایی، عربی، ویتنامی، چینی و دیگر زبان‌های عجیب و غریب را می‌شناسد. از اینرو در مکان‌های زیادی کاربرد دارد.

۴. قلم هوشمند Livescribe؛ ۴۰۰ دلار

قلم هوشمند Livescribe

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

علاوه بر ۵۰۰ مگابایت فضایی که در Evernote Livescribe در اختیار دارید، از ۴ گیگابایت حافظه‌ی داخلی این قلم برخوردار هستید و می‌توانید به اندازهِ‌ی ۴۰۰ ساعت صدا و بی‌نهایت نوشته در آن ذخیره کنید. نکته‌ی جالب دیگری که در رابطه با این قلم وجود دارد این است که می‌تواند عملیات ریاضی مانند جمع، تفریق، ضرب و تقسیمی را که روی کاغذ می‌نویسید برای شما محاسبه کند!

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

۵. قلم هوشمند DotPen

b53cba43-c244-4bde-8273-bc260e633a68

قلم هوشمند DotPen دارای ۱۴۳ میلیمتر طول و ۱۱.۹ میلیمتر قطر است. هر چند که این قلم هوشمند برای دستگاه‌های اندرویدی و iOS طراحی شده است، اما در ظاهر بیشتر شبیه یک قلم معمولی است. نوک این قلم از مواد ترموپلاست و بادوام ساخته شده است. اصطکاک کمی با سطح داشته و حرکت روان و راحتی روی سطح شیشه‌ای دارد. بدنه‌ی قلم از آلومینیوم آندایز ساخته شده است و باتری آن می‌تواند تا ۱۲ ساعت دوام بیاورد.

از طرفی DotPen به هیچ برنامه‌ی پیشنصب یا اپلیکیشن خاصی نیاز ندارد و می‌تواند با برنامه‌هایی مثل اورنوت، ProCreate و دیگر برنامه‌ها کار کند. در کل یک قلم ۷۰ دلاری بهتر از این نمی‌تواند باشد!

منبع: زومیت

گوشی ماژولار گوگل سال ۲۰۱۷ روانه بازار می‌شود

تیمی که در بخش پروژ‌ه‌های پیشرفته‌ی گوگل فعالیت می‌کنند در حال کار روی پروژ‌ه‌ی آرا هستند. این تیم اعلام کرده که در فصل چهارم سال ۲۰۱۶ اولین گوشی ماژولار خود را در اختیار توسعه‌دهندگان قرار می‌دهد و سپس این گوشی از سال ۲۰۱۷ به صورت عمومی روانه بازار می‌شود.

گوگل در جریان روز پایانی کنفرانس توسعه‌دهندگان امسال خود اعلام کرد که پروژه‌ی آرا تا سال ۲۰۱۷ به نتیجه رسیده و اولین گوشی ماژولار گوگل در این سال روانه بازار خواهد شد.

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

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

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

گوگل در نظر دارد تا ابزارهای مختلفی را در اختیار توسعه‌دهندگان قرار دهد تا این گوشی به یک پلتفرم واقعی پردازشی تبدیل شود. گوگل می‌گوید که در نظر داشته اکوسیستم سخت‌افزاری در ابعاد اکوسیستم اپلیکیشن‌های نرم‌افزاری بسازد.

گوگل طی این سال‌ها در حال کار روی پروژه‌های جذاب متنوعی بوده است و پروژه آرا نیز یکی از جذاب‌ترین آن‌ها است که به نظر می‌رسد تا سال ۲۰۱۷ به نتیجه‌ی نهایی و دلخواه خواهد رسید.

منبع: زومیت

آموزش PHP – جلسه هفتم: دستور Switch و آشنایی با Include و Require

در این جلسه از آموزش پی‌اچ‌پی  می‌خواهیم در مورد دستورات پایه‌ای نهایی صحبت کنیم. با فراگیری این درس می‌توان ساخت پروژه‌های ساده را آغاز کرد و سپس رفته رفته با ساخت پروژه‌های کاربردی‌تر پیش خواهیم رفت. دستور Switch یکی از دستورات کاربردی و بسیار خوب php است که عملکرد آن در واقع شبیه به if … else if است. در ادامه مطلب با ما همراه باشید.

اگر خاطرتان باشد در جلسات قبل مفصلا در مورد دستور if و نیز else if صحبت کردیم و گفتیم که برای بررسی چند شرط می‌توان از آن استفاده کرد. اما در پی‌اچ‌پی دستور دیگری به نام Switch وجود دارد که کار اصلی‌اش بررسی چندگانه شرط‌ها است. حالت استاندارد استفاده از Switch به صورت زیر است:

<?php
$a = 1;

switch ($a)
{
case “1”:
echo “moteqayer 1 ast”;
break;

case “2”:
echo “moteqayer 2 ast”;
break;

default:
echo “motaqyer 1 va 2 nist”;
break;

}
?>

اگر به کد بالا دقت کنید، ابتدا ما یک متغیر به نام a تعریف کرده‌ایم و مقدار ۱ را به آن نسبت داده‌ایم. سپس دستور Switch را نوشته و در پرانتز مقابل آن نام متغیری که تعریف کرده بودیم را قرار دادیم. سپس به ازای هر شرط از یک دستور case در داخل دستور Switch استفاده کرده‌ایم. تا اینجا ما به پی‌اچ‌پی می‌گوییم که هدف ما بررسی مقدار متغیر a است. سپس هر case مانند یک else if عمل می‌کند و ما به پی‌اچ‌پی اعلام کرده‌ایم در صورتی که مقدار متغیر ۱ باشد عبارت moteqayer 1 ast چاپ شود و اگر مقدار a عدد ۲ بود عبارت moteqayer 2 ast چاپ شود و اگر مقدار a هیچ کدام از مواردی که بررسی شده نبوده، عبارت motaqyer 1 va 2 nist در مرورگر چاپ شود.

اگر کمی در مورد این دستور سردرگم شده‌اید اصلا نگران نباشید. کافی است همان‌طور که اشاره کردیم مثل دستور else if به آن نگاه کنید با این تفاوت که در دستور switch بررسی شروط به صورتی است که در بالا مشاهده می‌کنید و از انسجام بهتری برخوردار است. بسیاری از توسعه‌دهندگان PHP پیشنهاد می‌کنند که اگر در کدنویسی نیاز به بررسی چندین شرط دارید، بهتر است از Switch استفاده کنید چراکه در چنین شرایطی، استفاده از else if برای بررسی شرط‌های زیاد، نسبت به Switch بهینه نیست.

خب پس اصول کلی استفاده از Switch را به صورت خلاصه اگر بخواهیم اعلام کنیم به صورت زیر خواهد بود:

  1. قرار دادن آنچه قصد بررسی مقدارش را داریم (متغیر یا دستوراتی که نهایتا یک خروجی داشته باشند) در پرانتز مقابل دستور Switch
  2. به ازای هر شرط یک دستور case را نوشته و علامت دو نقطه “:” را در مقابل آن می‌نویسیم.
  3. کد مورد نظر برای شرطی که در مرحله قبل نوشتیم را می‌نویسیم.
  4. با استفاده از عبارت break و سپس قرار دادن علامت نقطه ویرگول ; شرط یاد شده را پایان می‌دهیم.
  5. به ازای هر شرط دیگری که قصد بررسی آن را داریم مراحل ۲ تا ۴ را مجددا تکرار می‌کنیم.
  6. همانند مثال بالا، در نهایت شرط Case default را در پایین‌ترین بخش دستور switch می‌نویسیم تا در صورتی که هیچ کدام از شرط‌های نوشته شده برقرار نبود، این دستور اجرا شود.

برای درک بهتر این دستور یک مثال دیگر می‌زنیم. فرض کنید یک ورودی از کاربر گرفته‌ایم و فقط در صورتی می‌خواهیم به وی پیام خوشامد را نشان دهیم که او نام شهر خود را tehran اعلام کرده باشد.

<?php
$userCity = 20;

switch ($userCity)
{
case “tehran”:
echo “welcome you are from tehran!”;
break;

case default:
echo “you are not from tehran!”;
break;

}
?>

همان‌طور که مشاهده می‌کنید ابتدا متغیر userCity را تعریف و مقداردهی کرده‌ایم. در صورتی که مقدار این متغیر را tehran تعیین کنیم، شرطی اولی که در switch نوشته‌ایم برقرار خواهد بود و در نتیجه عبارت welcome you are from tehran! برای وی نمایش می‌یابد و در غیر این صورت you are not from tehran! را مشاهده می‌کنید. دقت کنید که نوشتن بخش default اجباری نیست ولی به شما پیشنهاد می‌کنیم که در پروژه‌های خود حتما این بخش را هم بکار ببرید چراکه باعث کنترل بهتر شرایط خواهد شد.

معرفی Include و require

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

با استفاده از include می‌توانید محتویات یک فایل دیگر را در فایل مورد نظر خود اضافه کنید. در پوشه htdocs نرم‌افزار سرور مجازی xampp یک پوشه جدید به نام mysite ایجاد کنید. در این پوشه سه فایل پی‌اچ‌‌پی به نام‌های head.php و index.php و footer.php ایجاد کنید. ساختار پروژه شما باید شبیه به زیر باشد:

fac133b1-73e4-4031-b779-b997fa825bb0

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

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

در این صورت ساختار پروژه ما از انسجام بیشتری برخوردار خواهد شد و توسعه و عیب‌یابی آن هم بسیار آسان‌تر می‌شود. اما برگردیم به سراغ پروژه mysite. پس از ایجاد سه فایل یاد شده، ابتدا فایل head.php را باز کنید و کد زیر را در آن قرار دهید:

<!DOCTYPE html>
<html>
<style>
#header {
background-color:black;
color:white;
text-align:center;
padding:5px;
}
#section {
padding:10px;
}
#footer {
background-color:black;
color:white;
clear:both;
text-align:center;
padding:5px;
}
</style>
</head>
<body>

<div id=”header”>
<h1>My Site</h1>
</div>

سپس فایل index.php را باز کرده و کد زیر را هم در این فایل قرار دهید:

<?php
include (“head.php”);
?>
<div id=”section”>
<h2>Mehrastan PHP Tuts</h2>
<p>we learning php in mehrastan weblog. php is very powerful for developing any kind of web applications. so we love it!</p>
</div>
<?php
include (“footer.php”);
?>

همان‌طور که احتمالا متوجه شده‌اید ما در بالا و پایین کد فایل index.php دو دستور ساده پی‌اچ‌پی را بکار برده‌ایم. در بالا کد با دستور include فایل head.php را به ابتدای فایل اضافه کرده‌ایم. و در پایین نیز فایل footer.php را به کد اضافه می‌کنیم. در این صورت هر تغییری که در فایل‌های head.php یا footer.php اعمال کنید، در فایل index.php نیز همان تغییرات اعمال خواهد شد.

در نهایت کدهای زیر را در هم در فایل footer.php قرار دهید:

<div id=”footer”>
Copyright © mehrastan.ac.ir
</div>
</body>
</html>

حالا مرورگر خود را باز کرده و این پروژه را در مرورگر تست کنید. اگر طبق مراحل به‌درستی پیش رفته باشید آدرس این پروژه در سرور محلی Xampp شما http://127.0.0.1/mysite/index.php خواهد بود. اگر این آدرس را اجرا کنید می‌توانید نتیجه نهایی را که باید چیزی شبیه به عکس زیر باشد، مشاهده کنید:

۲۹a0da34-1929-4b11-8bee-3b1e5aa519feحالا در مرورگر خود روی صفحه راست کلیک کرده و View Source را انتخاب کنید. در این صورت کد سورس نهایی تولید شده توسط پی‌اچ‌پی در واقع ترکیبی از سه فایلی است که ما ایجاد کردیم. یعنی در فایل index.php به جای دستور include همان فایلی که فراخوانی کردیم به آن بخش از کد اضافه شده است.

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

روش استفاده از این دستور دقیقا مشابه include است. به عنوان مثال در پروژه بالا اگر بخواهیم فایل head.php را با require به فایل index.php اضافه کنیم باید دستور را به شکل زیر بکار ببریم:

<?php
require (“head.php”);
?>

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

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

در صورتی که هرگونه سوال یا مشکلی در مورد مباحث این جلسه دارید مانند همیشه آن را در بخش دیدگاه‌ها اعلام کنید.
منبع: زومیت

 

 

ربات کوچک MIT در داخل معده عمل جراحی انجام می‌دهد

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

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

محققان دانشگاه MIT این ربات را به شکل آکاردئونی طراحی کرده‌اند که می‌توان آن را به صورت قرص استفاده کرد. این ربات در مرحله آزمایشی در روده‌ی خوک مورد استفاده قرار گرفته و می‌تواند در اسید معده حل شود. آهنربای تعبیه شده در ربات این امکان را فراهم می‌کند که بتوان از بیرون آن را کنترل کرد. ضمن این که می‌تواند باتری یا هر شی دیگری که داخل معده وجود دارد را درگیر کند.

این ربات جدید در ادامه‌ی تحقیقات گروهی قدیمی‌تر با سرپرستی “دنیلا روث” ساخته شده است. با این تفاوت که طراحی آن کاملا فرق دارد و گوشه‌های آن طوری است که می‌تواند به سطح معده چسبیده شود. این تیم، تمرکز خود را روی باتری ساعت قرار داده است چرا که سالانه ۳۵۰۰ نفر در ایالات متحده باتری‌های دکمه‌ای را قورت می‌دهند! هر چند که باتری می‌تواند خود به خود هضم شود اما باعث ایجاد سوزش در مری و معده خواهد شد. از اینرو ربات می‌تواند پیش از آن که باتری عوارضی در بدن ایجاد کند آن را خارج سازد. پیش از این بررسی، تیم روث ربات‌هایی طراحی کرده بود که می‌توانستند خود را مونتاژ کنند.

منبع: زومیت