Posted by: tudsy May 18 2022, 08:23 AM
Hi
I am new to the eval function but I was wondering can anyone find anything wrong with this code:
foreach ($this->subclient_names as $subclient_name) {
eval("\$api_instance = \"new /home/ecovibdc/vendor/klaviyo/sdk/API/ ${subclient_name}/Api(new /home/ecovibdc/vendor/guzzlehttp/guzzle/src/Client.php, $this->config\";");
$this->$subclient_name = new Subclient(
$api_instance,
$wait_seconds = 3,
$num_retries = 3,
);
Any help would be appreciated. Thanks Adrian.
Posted by: tudsy May 18 2022, 12:25 PM
QUOTE(tudsy @ May 18 2022, 10:53 PM)
Hi
I am new to the eval function but I was wondering can anyone find anything wrong with this code:
foreach ($this->subclient_names as $subclient_name) {
eval("\$api_instance = \"new /home/ecovibdc/vendor/klaviyo/sdk/API/ ${subclient_name}/Api(new /home/ecovibdc/vendor/guzzlehttp/guzzle/src/Client.php, $this->config\";");
$this->$subclient_name = new Subclient(
$api_instance,
$wait_seconds = 3,
$num_retries = 3,
);
Any help would be appreciated. Thanks Adrian.
Problem was a comma in the wrong place.
Posted by: Brian Chandler May 20 2022, 06:20 AM
QUOTE
I am new to the eval function but I was wondering can anyone find anything wrong with this code:
eval("\$api_instance = \"new /home/ecovibdc/vendor/klaviyo/sdk/API/ ${subclient_name}/Api(new /home/ecovibdc/vendor/guzzlehttp/guzzle/src/Client.php, $this->config\";");
What is the purpose of eval($parameter)? It runs the php code in the string $parameter, so normally the point is that this string came from a database, or (!!BIG ALERT!!) a string that a user entered. If the string is simply a bit of PHP code, then the above is the same as writing:
[code]
$api_instance = "new /home/ecovibdc/vendor/klaviyo/sdk/API/ ${subclient_name}/Api(new /home/ecovibdc/vendor/guzzlehttp/guzzle/src/Client.php, $this->config";
[code]
So why are you writing the convoluted version?