• Как сделать запрос к Tinkoff Invest API на чистом PHP?

    paulenot
    @paulenot Автор вопроса
    Благодарю за помощь!
  • Почему PHP выводит ошибку Undefined index?

    paulenot
    @paulenot Автор вопроса
    Заменил во всех классах private на public и дефолтом получил такие данные
    [0] => jamesRUS52\TinkoffInvest\TIInstrument Object
            (
                [figi] => BBG000HLJ7M4
                [ticker] => IDCC
                [isin] => US45867G1013
                [minPriceIncrement] => 0.01
                [lot] => 1
                [currency] => USD
                [name] => InterDigital
                [type] => Stock
            )


    И теперь могу обращаться к любым ее элементам
  • Почему PHP выводит ошибку Undefined index?

    paulenot
    @paulenot Автор вопроса
    Я вообще не пойму как может быть такое. Изначально ответ был такой, но из-за того, что это объект с неадекватными именами - я не могу обратиться к его элементам. По этому прогнал массив через foreach и обрезал ключи до читаемых.
    Сам по себе ответ выглядит так:
    Array
    (
        [0] => jamesRUS52\TinkoffInvest\TIInstrument Object
            (
                [figi:jamesRUS52\TinkoffInvest\TIInstrument:private] => BBG000HLJ7M4
                [ticker:jamesRUS52\TinkoffInvest\TIInstrument:private] => IDCC
                [isin:jamesRUS52\TinkoffInvest\TIInstrument:private] => US45867G1013
                [minPriceIncrement:jamesRUS52\TinkoffInvest\TIInstrument:private] => 0.01
                [lot:jamesRUS52\TinkoffInvest\TIInstrument:private] => 1
                [currency:jamesRUS52\TinkoffInvest\TIInstrument:private] => USD
                [name:jamesRUS52\TinkoffInvest\TIInstrument:private] => InterDigital
                [type:jamesRUS52\TinkoffInvest\TIInstrument:private] => Stock
            )
  • Почему PHP выводит ошибку Undefined index?

    paulenot
    @paulenot Автор вопроса
    Slava Rozhnev, var_dump($stockes[0]);:
    array(8) { ["figi"]=> string(12) "BBG000HLJ7M4" ["ticker"]=> string(4) "IDCC" ["isin"]=> string(12) "US45867G1013" ["minPriceIncrement"]=> string(4) "0.01" ["lot"]=> string(1) "1" ["currency"]=> string(3) "USD" ["name"]=> string(12) "InterDigital" ["type"]=> string(5) "Stock" }
  • Почему PHP выводит ошибку Undefined index?

    paulenot
    @paulenot Автор вопроса
    Vincent1, Код целиком - это достаточно проблематично!

    index.php
    ini_set('error_reporting', E_ALL);
    	ini_set('display_errors', 1);
    	ini_set('display_startup_errors', 1);
    	require_once 'vendor/autoload.php';
    	require_once 'libs/functions.php';
    	use \jamesRUS52\TinkoffInvest\TIClient;
    	use \jamesRUS52\TinkoffInvest\TISiteEnum;
    	use \jamesRUS52\TinkoffInvest\TICurrencyEnum;
    	use \jamesRUS52\TinkoffInvest\TIInstrument;
    	use \jamesRUS52\TinkoffInvest\TIPortfolio;
    	use \jamesRUS52\TinkoffInvest\TIOperationEnum;
    	use \jamesRUS52\TinkoffInvest\TIIntervalEnum;
    	use \jamesRUS52\TinkoffInvest\TICandleIntervalEnum;
    	use \jamesRUS52\TinkoffInvest\TICandle;
    	use \jamesRUS52\TinkoffInvest\TIOrderBook;
    	use \jamesRUS52\TinkoffInvest\TIInstrumentInfo;
    	$token = 't.s81Ju6wc-xvZH9xI9g6HoDCgPPuigexF-JG206-Yoi0q_ykw4OICLcNkIdK1hNGK2miglR21QWOHyPdQLNEyBA';
    	$tinkoff = 'https://api-invest.tinkoff.ru/openapi';
    	try {
    		$client = new TIClient($token,TISiteEnum::SANDBOX);
    		$stockes = $client->getStocks();
    		$stockes = clean($stockes);
    		vd($stockes);
    	} catch (Exception $e) {
    		vd($e);
    	}


    libs/functions.php
    function vd($var){
    		$var = print_r($var, true);
    		echo "<pre>{$var}</pre>";
    	}
    	function clean($stockes){
    		$clean = [];
    		foreach ($stockes as $int => $item) {
    			$array = (array)$stockes[(int)$int];
    			$object = [];
    			foreach ($array as $key => $val) {
    				$key = (string)str_replace('jamesRUS52\TinkoffInvest\TIInstrument', '', (string)$key);
    				$val = (string)$val;
    				$object[(string)$key] = (string)$val;
    			}
    			$clean[(int)$int] = (array)$object;
    			unset($object);
    		}
    		return (array)$clean;
    	}
  • Почему PHP выводит ошибку Undefined index?

    paulenot
    @paulenot Автор вопроса
    Dr03d, vlog,
    Проверьте, может у некоторых элементов массива вовсе и нет свойства currency))

    Это готовый массив который я печатаю на экран в <?php print_r($stockes); ?>
    62a77bd0947a5332223615.png

    Сначала мы убедились, что элемент [0] существует, и в нем есть другие элементы.
    Вот так выводит пустоту, ну или ничего не выводит:
    if(isset($stockes[0]["figi"])) var_dump($stockes[0]["figi"]);
    if(isset($stockes[0]["currency"])) var_dump($stockes[0]["currency"]);


    Это вряд-ли русские буквы, это ответ Tinkoff Invest API
  • Как сделать запрос к Tinkoff Invest API на чистом PHP?

    paulenot
    @paulenot Автор вопроса
    JhaoDa, нук поставте на бесплатный хостинг... Я посмотрю...
  • Как переопределить функцию в PHP?

    paulenot
    @paulenot Автор вопроса
    Vitsliputsli, Скорее про php, потому что функция не повешена на хук, а вызывается из разных участков по имени функции. А насчет override_function() - ей требуется pecl который есть не на всех хостингах.
  • Как получить высоту элемента без JS?

    paulenot
    @paulenot
    Линейкой можно замерять и поделить на плотность пикселей (DPI вашего монитора)
  • Как в PHP вырезать участок между двумя символами?

    paulenot
    @paulenot Автор вопроса
    Ответ Максима Федорова отлично работает у меня, но теперь обратная ситуация, на сайте, который я указал выше - там это регулярное выражение не работает. В чем дело?
  • Как в PHP вырезать участок между двумя символами?

    paulenot
    @paulenot Автор вопроса
    Благодарю за помощь! Это сразу заработало!
  • Как в PHP вырезать участок между двумя символами?

    paulenot
    @paulenot Автор вопроса
    Впервые вообще касаюсь регулярок, всегда было страшно в эту кашу лезть.
    Нашел такой сайт
    Собрал по инструкции снизу такое выражение '\/\*(...)\*\/' и вроде все получилось.
    Но у меня это работать не хочет:
    $css = file_get_contents("css/{$file}");
    $css = preg_replace('/\/\*(...)\*\//', '', $css);
    vd($css);

    У меня по прежнему комментарии выводятся
  • Как в PHP вырезать участок между двумя символами?

    paulenot
    @paulenot Автор вопроса
    Александр Лыкасов, да, с ними я тоже поигрался, но ничего не заработало. Регулярки я вообще не понимаю. набор символов и все..
  • Как запустить php.exe из консоли Windows?

    paulenot
    @paulenot Автор вопроса
    Судя по всему у меня сломанная винда. Все IDE лагают, код норм, запускается криво. Нет библиотек всяких
  • Как запустить php.exe из консоли Windows?

    paulenot
    @paulenot Автор вопроса
    Антон Шаманов,
    Вот смотрите, я качаю архив пхп, под линь и винду они не сильно отличаются. те же папки, только вместо exe там пустота, он и так бинарник на линуксе, ему расширение не нужно.

    Так вот. Эту папку я таскаю по всей системе, и еще человек 100 расположит эту папку там где им удобно.
    В линуксе я могу обратится во вложенную папку и запустить из нее скрипт, не нужны ни какие патчи или полные пути, достаточно относительного:
    ./php/php ./php_script/index.php
    Точка - это то место, где лежит start.sh, я на него тыкаю и все прекрасно работает.

    На винде элемментарно не работает .\php.exe -v
    Как мне сделать аналогию с bash скриптом. Что бы не тыкать переменные среды, не указывать полный путь (это ограничение для пользователя, у кого-то вообще может на флешке будет лежать)
  • Как запустить php.exe из консоли Windows?

    paulenot
    @paulenot Автор вопроса
    rPman, На оф сайте скачал пхп. Разместил в папку со скриптом .bat. Все это должно упаковаться и отправится клиенту. Ненужны никакие статичности, все должно быть динамично. ткнул в скрипт .bat и php запустился. все. Это возможно на Windows?
  • Как запустить php.exe из консоли Windows?

    paulenot
    @paulenot Автор вопроса
    Антон Шаманов, Т.е. каждый, кто будет пользоваться портативным пхп с моим скриптом - должен нажать кучу кнопок и прописать опять статичный путь к пхп, который должен быть динамичным? Вы хотите сказать, что PowerShell настолько карявое г...но что с ним работать не возможно? 6 лет не лез в винду, еще бы лет 1000000 не лез...
  • Как запустить php.exe из консоли Windows?

    paulenot
    @paulenot Автор вопроса
    Мне нужен портативный скрипт. Абсолютный путь может измениться в любой момент. Как этот вопрос решить? На скрине видно, что я использовал абсолютный путь, но PHP ничего не вывел
  • Как скомпелировать проект Qt под Windows?

    paulenot
    @paulenot Автор вопроса
    1) Получаю ошибку fatal error: QMainWindow: No such file or directory. В папке проекта есть файл .pro, который необходимо тоже подсунуть компилятору:
    #-------------------------------------------------
    #
    # Project created by QtCreator 2015-12-18T20:10:57
    #
    #-------------------------------------------------
    
    QT       += core gui webkit webkitwidgets
    QT       += widgets
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
    
    TARGET = QWebViewExample
    TEMPLATE = app
    
    
    SOURCES += main.cpp\
            mainwindow.cpp
    
    HEADERS  += mainwindow.h
    
    FORMS    += mainwindow.ui

    По этому спрашиваю, как сделать средствами Qt.

    2) Нет трафика, что бы качать винду и ставить туда Qt.
  • Почему QtCreator не компелирует?

    paulenot
    @paulenot Автор вопроса
    Вам не кажется, что слишком много приходится читать, для автоматически сформированного кода? Тем более он сформирован через официальную IDE фреймворка Qt? Как по мне - проблема вовсе не в тех ошибках, о которых он пишет. По этому и спрашиваю.
    Как можно видеть из скрина - ошибок на подключении библиотек нет, значит библиотеки есть. Почему не доступны функции, классы и типы из этого фреймворка?