Что делает использование знака доллара после $this-> в среднем PHP?

Подсказка № 1. Лучше писать без .

Это зависит от каталога, из которого вы запускаете приложение.

Например, у вас есть каталог , папка . И у вас есть два файла:

file.rb

puts "I'm file.rb"

main.rb

require './file.rb'

Если Вы запускаете свое приложение из папки - все в порядке:

folder$ ruby main.rb
I'm file.rb

Но если вы запустите его с высокого уровня - это будет ошибка:

folder$ cd ..
:~$ ruby folder/main.rb 
kernel_require.rb:55:in `require': cannot load such file -- ./file.rb (LoadError)

Но как писать в этом случае?

Подсказка № 2. Вы можете использовать специальный метод

main.rb

require "./#{__dir__}/file.rb"

Теперь все в порядке:

~$ ruby folder/main.rb 
I'm file.rb

folder$ ruby main.rb 
I'm file.rb

[1130 Но вы можете написать это лучше.

Подсказка № 3. Вы можете использовать require_relative

main.rb

require_relative 'file.rb'

И даже лучше.

main.rb

require_relative 'file'

Руби понимает это.

~$ ruby folder/main.rb 
I'm file.rb

folder$ ruby main.rb 
I'm file.rb

Надеюсь, это поможет вам.

6
задан Steven Oxley 20 October 2008 в 05:49
поделиться

2 ответа

Это будет искать то, что значение "k", и рассматривайте его как имя переменной. Эти два образца являются тем же:

echo ($obj->myvar);

####

$k = "myvar";
echo ($obj->$k);
20
ответ дан 8 December 2019 в 04:32
поделиться

Я полагаю, что это - случай переменных переменных.

5
ответ дан 8 December 2019 в 04:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: