Comments (6)
Maybe something like:
} elseif (is_string($var) && preg_match('/\${(([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(->)*)*(\[[^\]]*\])*)}/', $var)) { return '"' . preg_replace('#\'|\\\\(?=[\'\\\\]|\z)#', '\\\\$0', $var) . '"';
at line 66 of Helpers (_dump)
from php-generator.
Are you talking about function/method body? Simply use $function->setBody('return "Something ${value}";');
from php-generator.
Actually the problem is in an array. One of the array values must be enclosed by double quotes. The example was too simple. The actual code is:
https://gist.github.com/juniordias-planejar/8efd3d66bee6140a990da84e686f4177
At line 24, the value is enclosed by the double quotes. I thought about using sprintf, but this {$primaryKey} can be used multiple times depending on the database table.
from php-generator.
The return comes from an array:
$methodRules->addBody('return ?;', [$requestRules]);
from php-generator.
You can also use Nette\PhpGenerator\PhpLiteral
:
$methodRules->addBody('return ?;', [new Nette\PhpGenerator\PhpLiteral('"Something ${value}"')]);
from php-generator.
Thanks! Good suggestion!
If I meet that condition, I can set the array value accordingly:
$requestRules[$col->column_name] = $literal ? new PhpLiteral(sprintf('"%s"', $rules)) : $rules;
When I do $methodRules->addBody('return ?;', [$requestRules]);
, the array value for that column_name is double quote escaped.
from php-generator.
Related Issues (20)
- Option to disable trailing comas after multiline parameters HOT 5
- `PhpFile::fromCode` does not respect raw code (unstructured) HOT 2
- class names resolving in use as
- Inline comment of constant lost HOT 1
- Automatically build nested attributes from object HOT 2
- Methods with one parameter are printed as multiline if promoted or with attribute HOT 1
- ClassType->getNamespace() should not be deprecated HOT 5
- Using comment before for parameter throws exception HOT 2
- Leading slash in alias use at class line HOT 2
- Nullable union type HOT 1
- Attributes cant have 0 as parameter HOT 1
- Extract fails on array properties with class constant keys
- Breaking change within minor version bump RE: namespaces HOT 7
- Printing empty namespace HOT 5
- Option to force keys on arrays in properties HOT 3
- PhpParser\Lexer\Emulative::__construct(): Argument #1 ($phpVersion) must be of type ?PhpParser\PhpVersion, array given HOT 2
- Heredoc and Nowdoc converted to inline string when parsed HOT 4
- Option to set or overwrite a method. HOT 2
- The parameter and property types are not correctly returned when they are nullable HOT 7
- Support for PER Coding Style 2.0 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from php-generator.