💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ Hassan
دلیل تغیر آدرس دهی‌های نسبی چیه؟
محسن موحد حل شده توسط محسن موحد

با شلام خدمت دوستان عزیز - سوالی که برام پیش اومد در ابتدا آدرس دهی در فایل tp-index (فایل ابتداییکه ui  اصلی بود ) فایل‌های css و  js آدرس دهی شده بودند . سپس این فایل به داخل فولدر Assets  انتقال پیدا کرد و با این کار آدرس دهی‌ها چون نسبی بود باید مشکل پیدا میکرد ؟؟؟

یا اینکه به خاطر اینکه  در داخل فایل index  اصلی  include شد آدرس‌ها نیز از همون فایل اصلی داده شدن چون تمامی فایل‌های دیگه include شده بودن ؟؟

چون چندین بار برای فایل‌های مختلف مانند ادرس دهی فیال‌ها در داخل init  هم این انفاق افتاد برام سوال شد --

پیشاپیش سپاس از دوستان

سلام و احترام

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

اما برای آدرس دهی فایل‌های css , js به طور پیش فرض از آدرس root (ریشه اصلی) پروژه داده می‌شود و برای اینکه آدرس دهی به صورت دقیق‌تری انجام شود برای فایل‌های js و Css باید از url سایت استفاده کنیم که به درستی include بشوند.

امیر صالحی ۰۳ اردیبهشت ۱۳۹۹، ۱۸:۰۴

سلام. در مورد این جلسه، ادرس بندی فایل‌های assets که به این شکل بود assets/css/style.css و فایل css دقیقا توی همین مسیر قرار گرفته بود. ولی در مورد فایل init.php که اول در مسیر root پروژه قرار داشت و آدرس بندی برای مثال به این شکل بود: 

include "libs/helpers.php";

و چنتا اینکلود دیگه. و بعد که move شد به bootstrap شاید انتظار داشتین اینکلودها اینجوری آدرس دهی میشدن:

include "../libs/helpers.php";

این مسیردهی اشتباس و مسیردهی قبلی درسته چون فایل اجرا کننده ی این اسکریپت index.php هست و مسیر‌ها نسبت به index.php باید آدرس بندی بشن. باید به این نکته توجه کنید که تمام فایل‌های include ای به index.php اضافه میشن و در واقع انگار تمام کدها در یک صفحه یعنی index.php نوشته شده و دارن اجرا میشن.

با اینکلودها اومدیم نظم دادیم به صفحات وگرنه کدهای اینکلود شده در یک صفحه قرار دارن.

ادامه ی ویدیو این خط رو هم داریم داخل init.php:

<?php
include 'config.php';

چون دایرکتوری bootstrap قبلا در index.php اینکلود شده وگرنه به این شکل هم جواب میده: init.php

<?php
include 'bootstrap/config.php';

 

بهترین پاسخ
محسن موحد ۰۳ اردیبهشت ۱۳۹۹، ۲۲:۴۵