محمد مهدی امیری
1 سال پیش توسط محمد مهدی امیری مطرح شد
7 پاسخ

اجرا نکردن قسمتی از کد

سلام دوستان
من میخوام کاری کنم که مثلا از خط 10 تا 15 رو اجرا نکنه
میتونید کمک کنید خیلی نیازش دارم

<?php

echo 'hello world'; // Print

echo 'do not Printed'; // Do not print

echo '<br>' . 'Printed'; // Print

?>

ثبت پرسش جدید
محمدجوکار
تخصص : دانشجوی برنامه‌نویسی
@mamadyaqa 1 سال پیش مطرح شد
0

سلام محمد جان
راستش چند دقیقست که دارم فکر میکنم به سوالت ولی راهی به نظرم نمیاد
یعنی فکر نمیکنم بشه که شما کدت رو نوشته باشی، کامنتشم نکرده باشی، و بخوای که php هم اجراش نکنه.
البته یه راه هست،‌ که بازم خیییلی مربوط نمیشه به بحث شما. ولی خب میگمش به هرحال
مثلا میشه کدت رو توی شرطی بزاری،‌ که علنا اصلا اون شرط true نشه.
که همه مدل میتونی این کار رو بکنی
یا همه‌ی کدهایی که نمیخوای اجرا بشه رو میزاری توی یه if که false برمیگردونه
و یا میتونی از defined or die استفاده بکنی که اینم ارور برمیگردونه فکر میکنم. باید بخونی مستنداتشو.
 تصویر
به جای ثابت BASE_PATH میتونی هر ثابت دیگه‌ای رو بزاری که در اون فایلت تعریف نشده، اگر ثابتی که میزاری در ادامه‌ی کدها وجود نداشته باشه، کد متوقف میشه و دیگه مابقی رو اجرا نمیکنه.

البته میدونم اونی که میخواستی نبود، ولی امیدوارم به دردت خورده باشه
بهترینا نسیبت...


MagicalDev
تخصص : Laravel Developer
@magicaldev1 1 سال پیش آپدیت شد
1

درود .
یک دستور داریم در php به عنوان go to
نمیدونم درست میشه منظور شما رو با این پیاده سازی کرد یا نه ولی مثلا میخوای به یک خطی رسید برگرده دوباره و از جایی که میگی شروع کنه . و کلا یک بخشی رو اجرا نکنه .
مثلا

a:
echo "hi";

// اینجا میخوایم که خط بعد رو که چاپ میکنیم hello رو اجرا نکنه و مجدد برگرده و hi رو اجرا کنه

goto a;
echo "hello";
// اینجا hello  رو دیگه چاپ نمیکنه و برمیگرده  و دوباره hi رو چاپ میکنه

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

یا هم یک راه میتونه کامنت کردن اون بخش از کدی باشه که نمیخواین اجرا بشه .


محمدجوکار
تخصص : دانشجوی برنامه‌نویسی
@mamadyaqa 1 سال پیش مطرح شد
0

@magicaldev1
بله کاملا درسته همچین کاری هم میشه انجام داد؛ اصلا اینو به خاطر نداشتم.

محمدمهدی جان البته در رابطه با این روش، باید بدونی که دو مدل میتونی انجامش بدی
یکیش همینه که رفیقمون نوشته برات، یکی‌هم اینه که دقیقا جای کدهای خط ۶ و ۱ رو جابجا کنی. که عملکردش دقیقا برعکس میشه
در حالت اول،‌ یعنی همین کدی که این عزیز بالا برات نوشته، میافته توی یه لوپ، و hi رو تا ابد برات چاپ میکنه. برای اینکه توی لوپ‌ نیافتی، میتونی برعکسشو استفاده کنی که باید با توجه به کدهای خودت تنظیمش کنی
مرسی از مجیک دولوپر عزیز که این مورد رو یادآوری کردن. البته این توضیحات، جسارت نبوده باشه. ❤️


MagicalDev
تخصص : Laravel Developer
@magicaldev1 1 سال پیش مطرح شد
1

@mamadyaqa
درسته محمد جان این مورد رو فراموش کرده بودم .
میشه با استفاده از شرط هم جلوی تکرار رو گرفت .
متشکرم بابت یادآوری .


محمدجوکار
تخصص : دانشجوی برنامه‌نویسی
@mamadyaqa 1 سال پیش مطرح شد
0

سلام دوست من
درحال تمرین بودم که یه نکته یادم اومد. گفتم بهت بگم شاید به دردت بخوره.
برای بک‌اند
اگر میخوای فقط بخشی از کد رو اجرا کنی، نه همشو
میتونی اکستنشن Coderunner رو روی VS-Code خودت نصب بکنی، و بعد از فعال‌سازی، هر قسمتی از کد رو که میخوای اجرا بشه، هایلایت کنی و بعد کدتو ران بزنی.
که میانبرش میشه Ctrl + Alt + N


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 1 سال پیش مطرح شد
0

@mamadyaqa
@magicaldev1
سلام دوستان ببخشید دری پاسخ میدم درگیر امتحانات بودم
ممنون کمکم میکنید ولی منظور منو متوجه نشدیم من می‌خوام کاری کنم که چند خطی از پروژه اجرا و بعد از اون خط ها اجرا شده نه اینکه بعد از یک خطی دیگی هیچی اجرا نشه با تابع die,exit نمی‌خوام کار کنم


محمدجوکار
تخصص : دانشجوی برنامه‌نویسی
@mamadyaqa 1 سال پیش آپدیت شد
0

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

یا باید کامنتش کنی
یا از goto استفاده کنی
یا باید اون کدها رو درون شرطی بزاری که فالس برمیگردونه که با روش defined or die یا استفاده از if ها میتونی هندلش کنی
یا از اکستنشن کدرانر vsCode استفاده کنی
یا باید کلا اون کد رو قرار ندی

اگه راه دیگه‌ای وجود داره یا منظور خاص دیگه‌ای داری، حداقل من در زبان php اینو بلد نیستم.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام