
Dmitry
18.04.2017
18:05:01
да вроде и по хттп работает
а что, https включили? что-то у меня редиректит на http

Alexandr
18.04.2017
18:13:08
Пока не включили но базовый httos

Dmitry
18.04.2017
18:14:46
а, я понял, если на главную по https заходить, то редиректит на http

Google

Dmitry
18.04.2017
18:15:02
там $schema нужно в return 301 :)

Alexandr
18.04.2017
18:17:50
Ну там сразу все не взлетело решил откатить

Sparrow
18.04.2017
20:43:40
Привет бекендеры, перехожу на тёмную сторону от фронтенда))
Хочу задать один вопрос
Создал функцию в user.php
function showMyUser() {
$showOnline = 'SELECT * FROM account WHERE online=1';
foreach ( $connect->query($showOnline) as $row ) {
echo $row['username'] . ' - ' . $row['email'].'<br><hr>';
}
}
Хочу в index.php подключить только саму функцию как-то можно сделать без include и require?
А как сделанно в wordpress передавать так c моим примером так <?php showMyUser(); ?>
Это вроде правильно!
Вообщем вызывать только функцию а не весь код!
Везде в гугле пишут нада подключать инклудом или рекуайром а я паренек пришел с явы и для меня это дико подключать весь класс))

Pavel
18.04.2017
20:49:09
Нет нельзя, только через include/require

Dmitry
18.04.2017
20:49:23
у тебя в кашу функция, класс... ты определись уж

Pavel
18.04.2017
20:49:28
Еще можно настроить автолоадинг но под капотом он делает ровно тот же require

Sparrow
18.04.2017
20:52:01
весь класс это и значит что весь файл php подключать
спасибо за подсказку Павел

Dmitry
18.04.2017
20:53:01
а как ты представляешь подключить функцию не подключая класса... мне даже в фантазиях нет идей как это теоретически возможно

Google

Sparrow
18.04.2017
20:53:20
с wordpress работал?

Pavel
18.04.2017
20:53:26
В некоторых языках можно частично импортировать идентификаторы из модулей

Dmitry
18.04.2017
20:53:39
но для этого нужно модуль прочитать, не? ;)

Yarik
18.04.2017
20:53:39
у класса же нет функций

Sparrow
18.04.2017
20:53:58
в яве классом называется весь файл java)

Pavel
18.04.2017
20:54:03
В wordpress я подозреваю там все подряд грузится, и потом только используется :)

Yarik
18.04.2017
20:54:21
а что в этом файле тогда?

Sparrow
18.04.2017
20:54:26
да там грузится без инклуда

Pavel
18.04.2017
20:54:34
В пхп тоже так делают впринципе, 1 файл = 1 класс.

Yarik
18.04.2017
20:54:37
описан один класс?

Sparrow
18.04.2017
20:54:50
напрямую <?php funcia(); ?>

Pavel
18.04.2017
20:54:51
НО можно делать файл с 1 функцией, и это НЕ класс.

Sparrow
18.04.2017
20:55:16
из любой папки
из любой точки))

Dmitry
18.04.2017
20:55:35
там чувак путает класс и class file
в смысле тут
в java

Yarik
18.04.2017
20:55:52
пхоже да, просто интересно как оно там в джаве :)
просто рассказывают что джависты такие суровые парни, все по полочкам, все предусмотрено и тп

Sparrow
18.04.2017
21:01:28
кто нибудь может скинуть нормальные мануалы по pdo mysql

Google

Dmitry
18.04.2017
21:01:48
Офдока не устраивает?

Json
18.04.2017
21:02:06
там и примеры есть

Sparrow
18.04.2017
21:04:15
http://php.net/manual/ru/pdo.query.php
вбейте в поиск: $query->excute(array($myinsecuredata));
excute )
на офф сайте опечатки низнаю как доверять

Dmitry
18.04.2017
21:05:43
В User Contributed Notes то? И правда, как доверять...

Pavel
18.04.2017
21:09:17
notes это пользовательские комментарии, доверять но проверять. Еще там иногда бывают комментарии 9летней давности, не совсем актуальные.

Sparrow
18.04.2017
21:31:11
я так понял теперь мне вызывать файл таким образом?
<?php include'index.php'; showMyUser(); ?>

Pavel
18.04.2017
21:31:38
э нет
<?php include 'user.php'; showMyUser(); ?>
У тебя же функция в этом файле объявлена?

Sparrow
18.04.2017
21:32:29
не в index.php
Call to a member function query() on null in
require_once ('config.php');
function showMyUser() {
$showOnline = 'SELECT * FROM account WHERE online=1';
foreach ( $connect->query($showOnline) as $row ) {
echo $row['username'] . ' - ' . $row['email'].'<br><hr>';
}
}
это я для примера теслю
тестю
само подключение:
<?php
try {
$connect = new PDO('mysql:host=localhost;dbname=auth', 'admin', 'as5554202');
} catch (PDOException $e) {
exit($e->getMessage());
}

Dmitry
18.04.2017
21:33:27
перменные в функциях локальны

Sparrow
18.04.2017
21:33:48
а как их сделать паблик

Dmitry
18.04.2017
21:34:26
global $connect; в функции, но лучше передавать как аргументы

Google

Pavel
18.04.2017
21:34:31
Не надо лучше так делать это же плохо
Да, лучше передавать как аргументы
Типа такое мини-DI как в джаве

Sparrow
18.04.2017
21:37:39
это как?
$showOnline = 'SELECT * FROM account WHERE online=1';
foreach ( $connect->query($showOnline) as $row ) {
echo $row['username'] . ' - ' . $row['email'].'<br><hr>';
}
без функции работает как назначу так сразу эрорит

Pavel
18.04.2017
21:40:07
function showMyUser($connect) {
<?php include 'user.php'; showMyUser($connect); ?>

Sparrow
18.04.2017
21:42:16
ничего вообще не выводит))

Pavel
18.04.2017
21:44:38
? ну скинь в любой хостинг кода листинг файлов то

Admin
ERROR: S client not available

Pavel
18.04.2017
21:44:52
А то непонятно дже что куда инклуюдишь и что вообще там написано

Sparrow
18.04.2017
21:44:59
ща

Pavel
18.04.2017
21:45:28
https://3v4l.org/ сюда куда-нибудь или на pastebin

Json
18.04.2017
21:46:27
http://sandbox.onlinephpfunctions.com

Sparrow
18.04.2017
21:48:48
https://pastebin.com/N7SAHdhD
жестко)

Pavel
18.04.2017
21:55:33
https://pastebin.com/yDJQjCEV

Sparrow
18.04.2017
22:00:10
боюсь спросить а с точки зрения архитектуры:
try {
$connect = new PDO($config['dsn'], $config['username'], $config['password']);
} catch (PDOException $e) {
exit($e->getMessage());
}
этот сток будет находится во всех файлах где имеется подключение к бд?

Максим
18.04.2017
22:01:14
с точки зрения использования глобальных переменных лучше их не использовать

Google

Yarik
18.04.2017
22:04:05
это уже в сторону MVC?

Pavel
18.04.2017
22:06:07
да типа того

Максим
18.04.2017
22:06:15

Yarik
18.04.2017
22:06:29
я раньше думал, что подключение в конфиге и уже через index оно подтягивается. Или в данном случае - это лишь для частного примера?

Pavel
18.04.2017
22:07:14
В конфиге должны быть только значения, никакого кода, действий и бизнес логики

Yarik
18.04.2017
22:07:25
точно, спасибо

Максим
18.04.2017
22:08:31
Еще реестр использовать можно для получения конфигов и подключения к БД

Sparrow
18.04.2017
22:15:06
Теперь многим будет интересен вот такой вопрос, кто знает может помочь:
https://pastebin.com/UxMShmnY
написал в пастебинке для примера;
берутся данные с базы только значения! но нужно их так передать к примеру {name} отдельно {email} отдельно в дизайн темы
это делается уже для более глобального отделения php от html
многие движки думаю видели используют в tpl файлах подобные шорткоды просто вставляешь в любую тему, очень удобно бекендам кто натягивает шаблон на cms ставит готовые шорты)

Pavel
18.04.2017
22:16:37
Нужен шаблонизатор тебе, посмотри twig

Максим
18.04.2017
22:16:55
зачастую вижу, что тупо str_replace используют для псевдокода

Sparrow
18.04.2017
22:51:12
опять я)
https://pastebin.com/J9bZ0VEH
дан так же мой пример:
нужно посчтитать количество пользователей в базе и вывести сколько онлайн на сайте
подразумеваю делается циклом i++ ? или count какой нибудь предусмотрен

Alexey
19.04.2017
02:46:35
https://pastebin.com/xpfN2BY9

Максим
19.04.2017
04:49:43
Разобрался?
Я спал просто
У базы данных есть своя конструкция count которая может посчитать количество записей. Типа select count(id) as count from users

Alexey
19.04.2017
04:53:06
Я же скинул pastebin с кодом

Максим
19.04.2017
04:55:39
Отлично. Говорю же только проснулся. Не смотрел даже

Yarik
19.04.2017
05:10:57
прошу прощения за свои 5 копеек, но вроде как выводы типа <?= <% в семерке убрали? может стоит человеку. который обратился к темной стороне, давать код <?php echo?

Evgeny
19.04.2017
07:06:02
<?= это же работает ?>
В 7-ке

Alexandr
19.04.2017
07:16:17
Отключи short-open-tag ;-)