Help - Search - Members - Calendar
Full Version: eval function
HTMLHelp Forums > Programming > Server-side Scripting
tudsy
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.
tudsy
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.
Brian Chandler
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?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2024 Invision Power Services, Inc.