$ this-> load-> библиотека ('form_helper') эквивалент в C ++? - PullRequest
0 голосов
/ 30 августа 2011

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

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

На C ++

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

class CI {}; //class

CI this; //instance of class made called this

this.load.library('form_validation'); 

Thisявляется чисто академическим, а не для практических целей.

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

Спасибо

Ответы [ 3 ]

1 голос
/ 30 августа 2011

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

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

0 голосов
/ 30 августа 2011

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

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

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

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

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

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

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

0 голосов
/ 30 августа 2011
$this->load->library('form_validation');

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

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

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

...