Почему вы должны использовать base_url () в относительных ссылках (Codeigniter и т. Д.)

Почему в относительных ссылках я всегда должен использовать синтаксис base_url+ссылка в CodeIgniter?
Например:

<a href="<?php echo base_url()?>link22.php">

вместо

<a href="/link22.php'>

когда я объявил <base href="<?php echo base_url()?>"> в голове HTML?
Каковы преимущества?

3

Решение

Хороший вопрос.

Короткие слова (используется ниже)

CI — Codeigniter


Почему вы должны использовать base_url()??

base_url() это функция, которая определяет пункт назначения вашего проекта, который действует как $_SERVER['REQUEST_URI'] в php. Это будет знать, где содержится ваш фактический проект.


Где мы можем изменить / определить base_url()??

Path - application/config/
File name - config.php

Можем ли мы просто использовать base_url() функционировать?

Нет, ты не можешь В CI у них есть некоторые библиотеки а также помощник которые помогают нам использовать CI более дружественным. Так чтобы base_url() есть помощник вызов файла url.

Как его загрузить ??

Path - application/config/
File name - autoload.php

есть такая функция $autoload['helper'] = array();, Так что добавьте к этому помощника

$autoload['helper'] = array('url');

Есть ли способ изменить / определить base_url()??

Да. Есть два метода, которые вы можете определить base_url()

Способ 01

$config['base_url'] = '';

Способ 02

$config['base_url'] = 'http://localhost/foldername/';

Разница между Метод 01 (М1) а также Метод 02 (М2)

M1 — Когда мы держим пустым base_url это автоматически определит объем вашего проекта. Поэтому, когда вы не можете найти путь или сомневаетесь, это рекомендуется.
M2 — Там нет никакой разницы между M1, здесь вы знаете путь. Так что можете определить это.

Какой метод хорош / рекомендован?

Как мое предложение Способ 01 самый лучший


Почему мы используем echo base_url() вместо просто base_url()

base_url() переменная, которая предварительно определенные +(Codeigniter + User) в CI Framework, который мы можем использовать весь проект. Таким образом, чтобы показать содержимое переменной в php, мы используем echo, В этом также заключается и та же теория.


Почему это <a href="/link22.php'> не будет работать

Codeigniter Framework построить с MVC Состав. (MVC стоять за MОдел ВМЭН Сontroller.)

Поэтому, когда откроете ваш проект, он будет вызывать контроллер, затем, если есть какие-либо входящие значения из базы данных. Это получит это от модель, Тогда он будет загружен соответствующим Посмотреть который упоминается в контроллер.

Если это link22.php это какой-то связанный файл с вашим проектом, вы должны поместить это внутри Посмотреть папка.


Могу ли я включить PHP-файл в другой вид

Да. вы можете. Для этого вы должны использовать APPPATH,

Пример — Предположим link22.php это внутри view/links/ Так что вы должны использовать

APPPATH.'view/links/link22.php'

Некоторые полезные ссылки

  1. URL Helper
1

Другие решения

Есть моменты, когда вы разрабатываете, у вас будет структура папок для разных версий, таких как:
localhost / dev / или
локальный / бета /

и ваш живой сайт может иметь другое название
epicapps.com/preview/

с помощью base_url () вы можете отобразить на localhost / beta / в вашей локальной копии,
и epicapps.com/preview на вашем общедоступном сервере.

подсказка: вы можете установить base_url на своей главной странице index.php. лайк

$assign_to_config['base_url'] = 'http://localhost/beta/';

и убедитесь, что в application / config.php базовый URL-адрес пуст. $config['base_url'] = '';

затем вы можете перенести любые изменения из локальной папки приложения в папку приложения сервера, и файл конфигурации в приложениях не будет вас портить, поскольку base_url определяется в основном файле index.php.

2

Просто нашел это, используйте это, если кто-то найдет это полезным
если вы используете пользовательский порт на локальном хосте
упомянуть в вашем

приложение / Config / config.php

$config['base_url'] = 'http://localhost:portNo';
0