• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
نیاز به پاسخ برای چند سوال در مورد برنامه نویسی دارم
#1
سلام بر همه،

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

1. اگر بخوایم دو صفحه را به هم وصل کنیم در کدام صفحه باید صفحه دیگری را require یا include کنیم. مثلا یک صفحه .html و یک صفحه functions.php که از اسمش معلومه توش پر از متغیر هایی هست که در صفحه دیگر وجود داره.

2. کجا باید از require_once و include_once استفاده کرد؟

3. توی یک صفحه .html چطوری بهتره از کد های php استفاده کنیم؟ بالاخره نیازه مثل سوال 1 که عرض کردم تو html حتما فلان function رو فراخوانی کنیم.

4. ترتیب در نوشتن مثلا function ها لازم هست؟ مثلا شما میخواید یک فانکشن انجام و یکی هم برای خطاگیری بنویسید. کدوم رو اول می نویسید؟

باقیشم اگر دوستان اجازه بدن همینجا بعداً می پرسم. ممنونم پیشاپیش Heart
غایب
تشکر شده توسط :
#2
داخل صفحه html که نمی تونی اصلا کد php بنویسی
۱- اما در کل include کردن (و require ) کردن یک شاخه درختی در نظر بگیر که از فایلی که می خواد اجرا بشه شروع میشه و فایلهای مورد نیاز include میشه
۲- این دو تابع مقل include و require عمل می کنن با این تفاوت که در صورتی که یه فایل رو با این دو تابع بخوایین دو بار include یا require کنی دیگه اون کار رو انجام نمیده. حالا کجا باید استفاده کرد. همون مثال functions.php حتما باید یه بار include بشه پس include_once
تشکر شده توسط : parazitt cyletech molana
#3
۳- گفتم که توی فایل html نمیشه php استفاده کرد. پس حتما فایل رو php بزار.
۴- ترتیب توی نوشتن توابع مهم نیست
تشکر شده توسط : parazitt cyletech
#4
با عرض معذرت رفتم بیرون و بر گشتم پاسخ ها رو چک نکرده بودم// ویرایش
به طور معمول نمی شود در فایل های html کدهای php را به اجرا در آورد
ولی به طور کلی اگر دو صفحه به نام a , b داشته باشیم و در حال اجرا صفحه a باشیم و بخواهیم صفحه b را همزمان اجرا کنیم b را require یا include می کنیم
وقتی از include استفاده می کنیم اگر خطایی در رابطه با include وجود داشته باشه اون رو چاپ می کنه و اسکریپت حتما اجرا می شه اما در require در صورت بروز هر گرونه خطا اجرای اسکریپت متوقف می شه
در ترتیب فانکشن ها هم اجباری نیست ولی برای اینکه برنامه ساخت یافته تر باشه ترتیب رو رعایت کنید
تشکر شده توسط : cyletech molana
#5
نقل قول:داخل صفحه html که نمی تونی اصلا کد php بنویسی
من یک فایل بنام functions.php با محتوای توابع دارم. میخوام در صفحه index.html یک بخش رو که در صفحه اول کدش رو نوشتم نمایش بدم، چطوری می تونم اینکارو کنم؟ خودم بارها از این روش استفاده کردم و جواب داده. مثلا اینطوری بشه:
کد پی‌اچ‌پی:
<html>
<
head>
</
head>
<
body>
<? echo( 
"salam" ); ?>
</body>
</html> 

نقل قول:- اما در کل include کردن (و require ) کردن یک شاخه درختی در نظر بگیر که از فایلی که می خواد اجرا بشه شروع میشه و فایلهای مورد نیاز include میشه
میشه بیشتر در مورد include و require و include_once و require_once توضیح بدید؟

نقل قول:۳- گفتم که توی فایل html نمیشه php استفاده کرد. پس حتما فایل رو php بزار.
اگر بخوایم یک صفحه html داشته باشیم و توش یک مقدار از صفحه php رو نمایش بدیم چی؟

نقل قول:- ترتیب توی نوشتن توابع مهم نیست
من همچین چیزی نوشتم: صفحه html داریم و اطلاعات رو وارد می کنیم و روی دکمه کلیک می کنیم، اول خطایابی هست و بعد نمایش اطلاعات و بعدش پایان فرم پر کردن اطلاعات با کلیک بر روی دکمه نهایی. مهم نیست که من در فایل functions.php کدوم رو اول می نویسم؟ مثلا اول بیام تابع نمایش اطلاعات و بعد پایان کار و در نهایت خطا یابی؟

نقل قول:ولی به طور کلی اگر دو صفحه به نام a , b داشته باشیم و در حال اجرا صفحه a باشیم و بخواهیم صفحه b را همزمان اجرا کنیم b را require یا include می کنیم
دوست عزیزم مشخص کن که از صفحه a و b کدوم html هستند. چون اگر a همان html باشه میشه همون حرفی که من زدم. اگر نشه تو html کد php نوشت چطوری require یا include کنیم؟
غایب
تشکر شده توسط :
#6
بزار یه جور دیگه بررسی کنیم و مفهومی بریم جلو
تو یه صفحه html داری به این صورت

کد:
<html>
<head>
</head>
<body>
Salam
</body>
</html>

خوب وقتی که درخواست به این فایل داده میشه apache درخواست مورد نظر رو می گیره و میده به مرورگر
حالا اگر تو بیایی صفحه رو با php ذخیره کنی ( دقیقا همین رو) apache می یاد این فایل رو اول میده به مفسر php و بعد مفسر php یه خروجی که همون html هست رو به php میده و برای کلاینت ارسال میشه. این از رفتار
حالا مفسر php چی کار می کنه؟ میاد بلوکهای php ( اینجا بلوک بین <?php و ؟< رو در میاره و اجرا می کنه بقیه و هم مستقیم به خروجی میده.
پس اینجا متوجه شدی که یه صفحه html اصلا به مفسر php داده نمیشه که بخواد اجرا بشه و اگر بخوای این کار رو انجام بدی باید صفحه رو با php ذخیره کنی. یعنی می تونی اصلا یه صفحه php داشته باشی و داخلش اصلا کد php نداشته باشی و کد html داشته باشی

اما در مورد توابع
اصلا مهم نیست تو کجا تابعت رو تعریف می کنی. هر جای برنامه تعریف کردی قبل و بعدش داری به این مثال دقت کن

کد پی‌اچ‌پی:
<?php
myFunc
();
function 
myFunc(){
echo 
"Hello Iranphp";


اما در مورد
include و موارد مشابه بهتره راهنما رو یه بار با دقت بخونی
http://ir.php.net/manual/en/function.include.php
با دقت بخون و به مثالهاش رو با دقت نگاه کن و خودت تست کن
تشکر شده توسط :
#7
نقل قول:اصلا مهم نیست تو کجا تابعت رو تعریف می کنی. هر جای برنامه تعریف کردی قبل و بعدش داری به این مثال دقت کن
شما توی کدتون چرا اول اومدین تابع رو باز کردید و بعد تعریف کردید؟ من خودم بارها تست کردم که اگر کدی بنویسم و نیاز به متغیری مثلا داشته باشه باید اون متغیر بالاش تعریف شده باشه درغیر اینصورت خطا میده. البته من کدت رو الان تست کردم و اگر بعدش باز بشه یا قبلش فرقی نکرد اما چرا در متغیر ها این بحث فرق داره. مثلا به این توجه کن:
کد پی‌اچ‌پی:
<?php

echo( "My name is: " $firstname );

$firstname 'Alireza';

?>
این کد خطا چاپ می کنه چون متغیرش ناشناخته هست و اونم برای اینه که بعدش نوشته شده.

سوال بعدی:
5. برگردید به زمانی که php رو شروع کردید. تا الان در نوشتن کد ها(دقت در نوشتن حروف آنها و دقت در قرار دادن " یا ' و ...) چقدر قوی تر یا فرق کرده اید؟ من یک مشکلی شاید اساسی دارم و اونم اینه که من php رو تازه شروع کردم و در نوشتن هم باید به صفحه کلید نگاه کنم و هم به صفحه نمایش. بعدشم تازه پیش میاد زیاد که اشتباه می نویسم یک کد رو یا یادم میره چی نوشتن قبلش و همینطور یادم میره که در پایان هر خط ; رو بگذارم و یا همینطور موقع نوشتن $_POST['name'] اشتباهی بجای ] آخر یک پرانتز میزارم که باعث میشه خطا چاپ بشه. نهایتاً باید برای هر تغییر کدم رو امتحان کنم. چه حرفی برای این موضوع دارید که بهم بتونید بگید؟
غایب
تشکر شده توسط :
#8
دوست عزیز ببین مفسر php کد ها رو خط به خط اجرا می کنه به مثال زیر توجه کن
کد پی‌اچ‌پی:
<?php
echo "test";
$a="hello";
echo 
$a;
f1();
function 
f1(){
echo 
"end";
}
?>
اول خط یک: که کلمه تست رو چاپ می کنه اجرا می شه
خط دوم: در حافظه رم سیستم یک مکان خالی(مثلا بایت ۱۰۲۴ رو به نام a اختصاص می ده) پیدا می کنه مقدار هلو رو در اون قرار می ده
خط سوم به آدرسی که برای a (مثلا همون بایت ۱۰۲۴) مراجعه می کنه و مقدار اون رو چاپ می کنه
خط چهارم : اجرا برنامه از کد اصلی متوقف می شه تابع f1 رو پیدا می کنه (در کل برنامه و فایل های اینکلود شده) و اون رو اجرا می کنه
و...
حالا فرق متغیر و تابع در چی بود؟ فرق این دو اینه که در تابع یک بلاک کد(با نامی خاص از پیش تعیین شده) از برنامه جدا می شه و هر بار که نیاز به اون بلاک کد بود برنامه متوقف می شه و اون کد ها اجرا می شن پس از اجرا. ادامه برنامه اجرا می شه اما در متغیر چون متغیر جزی از خود برنامه هست برای مقدار اون برنامه متوقف نمی شه حافظه اصلی جستوجو می شه و اگر شما اون متغیر رو تعیین کرده باشید به اون دسترسی پیدا می کنید
امیدوارم متوجه شده باشی
برای سوال ۵ هم می تونید با استفاده از dreamweaver و نرم افزار های مشابه استفاده کنید
تشکر شده توسط : cyletech molana
#9
سوال اولت این رفتار توی php هست که به صورت خط به خط اجرا میشه و تبیعتا اگر متغیری پایین تعریف بشه بالا قابل استفاده نیست. البته این رفتار برای توابع و کلاسها صدق نمی کنه و هر جایی میشه تعریف بشه . تو این اصل رو مد نظر نداشته

در مورد سوال پنجمت تمرین تمرین تمرین. باید اینقدر تمرین کنی تا یاد بگیری. من الان کلا عادت کردم وقتی می خوان enter بزنم قبلش سمیکالن میازم. اینقدر مسری هست که وقتی می خوام انگلیسی چیزی رو بنویسم باز هم این رفتار رو انجام میدم Big Grin
تشکر شده توسط : cyletech molana
#10
نقل قول:برای سوال ۵ هم می تونید با استفاده از dreamweaver و نرم افزار های مشابه استفاده کنید
ممنونم من اصلا جز dreamwaver با هیچ برنامه ای برای نوشتن کدهام نمی تونم استفاده کنم Big Grin

نقل قول:در مورد سوال پنجمت تمرین تمرین تمرین
حق با توست برادر Angel

ادامه سوال ها:
6. میشه برام توضیح بدید که چه چیزی باید بین () در function name() قرار بگیره؟ ببینید من اینطوری برای خودم تفسیر کردم که هرچیزی که بخوام بعداً دستی یا خودکار بهش یک مقدار بدم باید قرار بدم. مثلا بخوام در جایی یک مقدار ایران php رو بهش بدم باید (یا میتونم) یک متغیر تعریف کنم داخل پرانترها.

7. یک برنامه نویس php سطح مقدماتی رد کرده و رسیده به اواسط سطح متوسطه رو در نظر بگیرید، چه برنامه هایی نیاز داره؟ مثلا برای نوشتن کداش، و هرچی که خودتون می دونید تا کارش بهتر پیش بره.
غایب
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان