آدرس دهی در برنامه

masima

Member
سلام

در جهت بهبود آدرس دهی در برنامه ، تمام مسیرها رو در یک فایل جدا تعریف کردم و اون رو در فایل های دیگه include می کنم. حالا چندتا سوال برام پیش اومده :
فرض کنید پوشه هام به این شکل باشه :
PHP:
root
_  temp
__  image
___ image.gif
_ index.php
_ news.php
_  user
__ act
___ profile.php

برای تعریف آدرس پوشه ها به این شکل عمل کردم (سوال : این جوری خوبه یا بهتر هم میشه آدرس داد؟ ) :
PHP:
define ('image_dir', 'temp/image/', false);

1- حالا سوالم اینه : برای دادن آدرس مثلن توی فایل profile.php چه طور عمل کنم ؟ منظورم یک روش کلی و بهینه هست ( یعنی ممکنه این فایل توی پوشه های تودرتو باشه و ملاک همین پوشه ها نیست!)

2- چه طور میشه به شاخه root برگردم از داخل هر شاخه و زیر شاخه با یک روش اصولی ؟ (منظورم استفاده /.. نیست !)

من از این روش (که می دونم مناسب نیست ) تا به حال استفاده می کردم ؛ حالا دنبال یک روش درست و حسابی می گردم :
PHP:
  '../../'.image_dir.image.gif

3- برای تعریف آدرس فایل ها مثل news.php که به صورت لینک در صفحه نمایش داده میشن ؛ بهتره چه جوری عمل کنم : به صورت مجازی (news.php) یا به صورت آدرس کامل اینترنتی (مثل http://www.site.com/news.php) ؟

ممنون میشم به تمام سوال هام با حوصله پاسخ بدین :rose:
 

Cyletech

Member
در جهت بهبود آدرس دهی در برنامه ، تمام مسیرها رو در یک فایل جدا تعریف کردم و اون رو در فایل های دیگه include می کنم.
دقیقاً کاری که من در آخرین پروژم انجام دادم. درسته همیشه یه اینکلود بیشتر صورت میگیره ولی واقعاً منظم و مرتب میشه برنامه.
define ('image_dir', 'temp/image/', false);
نمیشه همیشه اینطوری برای هر دایرکتوری آدرس داد. من راه بهتری رو پیشنهاد می کنم. فرض کنید در چند دایرکتوری یک مسیر مشابه هست. مثلاً به دایرکتوری USER بخوایم دسترسی داشته باشیم یا دایرکتوری IMAGES باید یک مسیر رو بریم. که بجای اینکه مسیر رو تکرار کنیم از روش زیر استفاده می کنیم.
PHP:
define('RELATE_DIR','/inja/onja/', TRUE);
include_once($_SERVER['DOCUMENT_ROOT'] . RELATE_DIR . 'user/index.php');
include_once($_SERVER['DOCUMENT_ROOT'] . RELATE_DIR . 'images/upload.php');
2- چه طور میشه به شاخه root برگردم از داخل هر شاخه و زیر شاخه با یک روش اصولی ؟ (منظورم استفاده /.. نیست !)
با $_SERVER['DOCUMENT_ROOT']

3- برای تعریف آدرس فایل ها مثل news.php که به صورت لینک در صفحه نمایش داده میشن ؛ بهتره چه جوری عمل کنم : به صورت مجازی (news.php) یا به صورت آدرس کامل اینترنتی (مثل http://www.site.com/news.php) ؟
من خیلی متوجه این سوالتون نشدم ولی احتمالاً میگید اگر در صفحه بخوایم فایل news.php رو لینک کنیم بصورت کامل همراه دامین لینک کنیم یا فقط نامش رو. اگر اینه سوالتون که خیلی راحته. در HTML اولین "/" به معنی روت هست. وقتی شما /news.php وارد می کنید خود به خود به http://www.example.com/news.php وصل میشه. اگر هم مسیر دیگه ای داره ، مثلاً داخل پوشه user هست ، باید اینطوری بنویسید /user/news.php
 
آخرین ویرایش:

masima

Member
اول از همه :
از راهنماییتون سپاسگزارم rOsE!
من خیلی متوجه این سوالتون نشدم ولی احتمالاً میگید اگر در صفحه بخوایم فایل news.php رو لینک کنیم بصورت کامل همراه دامین لینک کنیم یا فقط نامش رو
منظورم لینک هایی مثل صفحه اصلی ، تماس با ما و .. که معمولن اون رو در یک فایل با عنوان Header میذارن و بالای تمام صفحات include میشه ، از اونجایی که فایل های مختلف در پوشه های متفاوتی هستند ؛ برای تعریف این چنین لینک هایی بهتره از آدرس دهی کامل همراه دامین استفاده کنم یا آدرس دهی مجازی همونجور که توضیح دادید ؟

(همونجور که قبلن گفتم میخوام تمام مسیرها و لینک ها رو توی یک فایل جدا تعریف کنم و .. )
 

Cyletech

Member
منظورم لینک هایی مثل صفحه اصلی ، تماس با ما و .. که معمولن اون رو در یک فایل با عنوان Header میذارن و بالای تمام صفحات include میشه ، از اونجایی که فایل های مختلف در پوشه های متفاوتی هستند ؛ برای تعریف این چنین لینک هایی بهتره از آدرس دهی کامل همراه دامین استفاده کنم یا آدرس دهی مجازی همونجور که توضیح دادید ؟
اونطور که گفتم عمل کن. البته اگر بخوای وبسایتت بهینه هم باشه بهتره در کنارش از آپاچی هم استفاده کنی و آدرس های کاربرپسند تر بسازی. مثلاً /news.php بشه /news
 

masima

Member
اگر بخوای وبسایتت بهینه هم باشه بهتره در کنارش از آپاچی هم استفاده کنی و آدرس های کاربرپسند تر بسازی. مثلاً /news.php بشه /news
اگه امکان داره میشه در این مورد توضیح بدین (آموزشی!) که چطور انجامش بدم ، چون به نظرم حرفه ای جلوه می کنه وبسایت باهاش!
ممنون
 

Cyletech

Member
اگه امکان داره میشه در این مورد توضیح بدین (آموزشی!) که چطور انجامش بدم ، چون به نظرم حرفه ای جلوه می کنه وبسایت باهاش!
برای اینکار اگر بخواید خودتون یاد بگیرید که باید عبارات منظم و آپاچی رو درک کنید. در غیر اینصورت ، تو گوگل سرچ کنید اینقدری هست که نیازتون رو برطرف کنه. مثلاً سرچ کنید redirect urls using htaccess
 

جدیدترین ارسال ها

بالا