|
|
|
Помогите разобраться с пространством имен
|
|||
|---|---|---|---|
|
#18+
Ни одной толковой статьи не встретил по этому поводу, не говоря уже о практическом применении. В общем, суть такова: В папке classes/db у меня лежит скрипт class.php Код: php 1. 2. 3. 4. 5. 6. 7. аналогично разложены и другие классы В основном скрипте main.php Код: php 1. 2. 3. 4. 5. 6. 7. 8. И какое преимущество от использования пространства имен получу в этом случае? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2012, 13:48 |
|
||
|
Помогите разобраться с пространством имен
|
|||
|---|---|---|---|
|
#18+
Т.е. какие могли бы возникнуть проблемы, если бы не использовал пространства? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2012, 13:52 |
|
||
|
Помогите разобраться с пространством имен
|
|||
|---|---|---|---|
|
#18+
Shitbox2, использовать автолоадер классов. Тогда об include можно будет забыть. И работа с классами будет похожа на работу в Java, C#. Подключил нужный неймспейс и используй всё что в него входит свободно. При этом становится безразлично где физически файл с нужным классом лежит. Но при этом лучше код писать в Java style режиме, т.е. один файл - один класс. Ваш код тогда примет вид Код: php 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2012, 14:24 |
|
||
|
Помогите разобраться с пространством имен
|
|||
|---|---|---|---|
|
#18+
Ммм... А как php узнаёт, где лежат файлы с нужными классами, если не указываем ему явно? Сканирует все директории? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2012, 14:56 |
|
||
|
Помогите разобраться с пространством имен
|
|||
|---|---|---|---|
|
#18+
Shitbox2, Базовые директории указываются в загрузчике. Логика поиска прописывается там же. Обычно каждый уровень пространства имен -папка, класс - непосредственно файл. Но никто не мешает Вам свою схему придумать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2012, 15:47 |
|
||
|
Помогите разобраться с пространством имен
|
|||
|---|---|---|---|
|
#18+
авторИ какое преимущество от использования пространства имен получу в этом случае? у тебя может быть два класса User в проекте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2012, 21:23 |
|
||
|
Помогите разобраться с пространством имен
|
|||
|---|---|---|---|
|
#18+
Хорошо, допустим у меня два класса User. И как это поможет избежать конфликта? Можно пример. Не догоняю( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2012, 23:10 |
|
||
|
Помогите разобраться с пространством имен
|
|||
|---|---|---|---|
|
#18+
каких конфликтов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2012, 00:19 |
|
||
|
Помогите разобраться с пространством имен
|
|||
|---|---|---|---|
|
#18+
Shitbox2Хорошо, допустим у меня два класса User. И как это поможет избежать конфликта? Можно пример. Не догоняю( Имена одинаковые namespace - разные, как следствие конфликтов нет. А нужно это когда не только ты один код пишешь (и коллизии в именах классов весьма вероятны), либо когда сторонние библиотеки используешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2012, 01:27 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38043487&tid=1464413]: |
0ms |
get settings: |
9ms |
get forum list: |
24ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
216ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 552ms |

| 0 / 0 |
