Skip to content

Instantly share code, notes, and snippets.

@errogaht
Created November 23, 2015 16:24

Revisions

  1. errogaht created this gist Nov 23, 2015.
    33 changes: 33 additions & 0 deletions test.php
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,33 @@
    <?php

    require_once("vendor/autoload.php");


    $code = file_get_contents('settings.php');

    $settings = [];

    $parser = new PhpParser\Parser(new PhpParser\Lexer\Emulative);

    try {
    $stmts = $parser->parse($code);
    foreach ($stmts as $item) {
    if ($item->getType() === "Expr_Assign") {
    if (!empty($item->expr)) {
    if (!empty($item->expr->items)) {
    if ($item->expr->items[0]->getType() === "Expr_ArrayItem") {
    if ($item->expr->items[0]->key->value === "driver") {
    foreach ($item->expr->items as $settingsItem) {
    $settings[$settingsItem->key->value] = $settingsItem->value->value;
    }
    }
    }
    }
    }
    }
    }
    d($settings);
    } catch (PhpParser\Error $e) {
    echo 'Parse Error: ', $e->getMessage();
    }