Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Генерация PHP класса
- ((className, props, useCamelCase) => {
- var names = props.split(/,\s*/);
- var tab = ' ';
- var ths = '$this->';
- var pubfunc = 'public function ';
- var constructorArgs = [];
- var lines = ['/**', ' * Description goes here', ' */',
- 'class ' + className + ' {'];
- var lines2 = [];
- var lines3 = [tab + '// Getters', ''];
- var lines4 = [tab + '// Setters', ''];
- names.forEach((name) => {
- var varName = '$' + name;
- constructorArgs.push(varName);
- lines.push(tab + 'protected ' + varName + ';');
- var setName = 'set' +
- (useCamelCase ? name.slice(0, 1).toUpperCase() + name.slice(1) :
- '_' + name);
- lines2.push(tab + tab + ths + setName + '(' + varName + ');');
- lines3.push(tab + pubfunc + name + '() {');
- lines3.push(tab + tab + 'return ' + ths + name + ';');
- lines3.push(tab + '}');
- lines3.push('');
- lines4.push(tab + pubfunc + setName + '(' + varName + ') {');
- // lines4.push(tab + tab + 'if (0) {');
- // lines4.push(tab + tab + tab +
- // "throw new InvalidArgumentException('Invalid " + name + "');");
- // lines4.push(tab + tab + '}')
- lines4.push(tab + tab + ths + name + ' = ' + varName + ';');
- lines4.push(tab + '}');
- lines4.push('');
- });
- lines.push('');
- lines.push(tab + pubfunc + '__construct(' + constructorArgs.join(', ') +
- ') {');
- lines = lines.concat(lines2);
- lines.push(tab + '}');
- lines.push('');
- lines = lines.concat(lines3);
- lines = lines.concat(lines4.slice(0, -1));
- lines.push('}');
- lines.push('');
- var str = lines.join('\n');
- console.log(str);
- prompt('Ctrl+C:', str);
- })(
- 'Test',
- 'foo, bar, baz',
- true
- );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement