Мне интересно, если бы вы написали следующий PHP-код Codeigniter:

$this->load->library('form_validation');

В C ++

Это было бы что-то вроде этого

class CI {}; //class

CI this; //instance of class made called this

this.load.library('form_validation'); 

Это чисто академический, а не практический характер.

Поскольку я пытаюсь сделать эквивалент CI в C ++ для развлечения

Благодарность

0
sqlmole 30 Авг 2011 в 22:28

3 ответа

Лучший ответ

В этом вопросе так много неправильного.

C ++ - это скомпилированный язык по сравнению с интерпретируемым PHP.

В C ++ необходимо включать ссылки на библиотеки с помощью оператора #include. Это эффективно имплантирует источник этого файла в используемый файл.

Пример codeigniter загружает собственный код библиотеки, так как это фреймворк.

На C ++ это можно сделать, написав собственный фреймворк и библиотеки.

Codeigniter в основном анализирует библиотеку во время выполнения, чтобы добавить функциональность.

То же самое можно сделать, написав серверную оболочку с функцией импорта кода C ++ при передаче аргумента библиотеки.

0
Dustin Kingen 30 Авг 2011 в 18:49

Нет. Загрузка библиотеки на C ++ зависит от платформы и не очень проста.

C ++ - это совершенно другой язык, чем PHP, и если вы не знакомы с ним, вам следует сначала попробовать гораздо более простой проект ...

1
antlersoft 30 Авг 2011 в 18:38
$this->load->library('form_validation');

В этом операторе $ this - ключевое слово, относящееся к классу, в котором вы сейчас находитесь, то есть, если вы находитесь в методе класса Foo, то $ this относится к объекту Foo.

"->" похоже на точку "." в С ++, отделяя ссылку на объект от его свойств или методов, что означает, что если объект $ foo имеет метод с именем bar (), $ foo-> bar () вызовет этот метод.

"load" и "library" - это имена объектов и методов, которые относятся к базовому классу контроллера codeigniter и поэтому не имеют смысла в C ++, если вы не создадите их самостоятельно.

0
dqhendricks 30 Авг 2011 в 18:40