
mr
30.04.2017
10:04:39
"autoload": {
"classmap": ["fey/Test.php"]
}

Shadow
30.04.2017
10:04:41
json покажи

Konstantin
30.04.2017
10:05:08
прям сама судьба свела вас сюда ?

Shadow
30.04.2017
10:05:18
не проще сделать интерфейс и указывать src fey/ ?

Google

mr
30.04.2017
10:05:27
{
"name": "fey/test",
"description": "",
"license": "",
"authors": [
{
"name": "",
"email": ""
}
],
"autoload": {
"classmap": ["fey/Test.php"]
}
}
да мне хоть как нибудь класс загрузить
[RuntimeException]
Could not scan for classes inside "fey/" which does not appear to be a file
nor a folder

Shadow
30.04.2017
10:06:31
"autoload": {
"psr-0": {
"Vendor\\App\\Commands": "Commands/"
}
}
Вот я так подключил NS и уже от него буду классы брать

mr
30.04.2017
10:07:19
папку вендор тоже надо указывать?

Shadow
30.04.2017
10:07:28
не это мой пример
можешь назвать по своему пространство

f4rt~
30.04.2017
10:07:51
@f3ath а это ты помнится искал, что бы автоматом писало strict_types ?

mr
30.04.2017
10:09:12
в composer.json нужно писать также?
я думал, что он сам ищет в папке /vendor

f4rt~
30.04.2017
10:11:24

Shadow
30.04.2017
10:11:35
ты просто указываешь директорию неймспейса от него ты исользуешь классы вот так например NS\Fey\Test.php а в самом json у тебя будет "NS\\Fey" : "fey/"

Google

mr
30.04.2017
10:11:56
ну я понял, директория эта будет от корневой?
или от вендор?

Shadow
30.04.2017
10:12:41
потом делаешь composer install и смотришь в файл vendor/composer/autoload_namespaces.php там будет твой неймспейс

f4rt~
30.04.2017
10:12:57

Shadow
30.04.2017
10:13:37

mr
30.04.2017
10:13:43
а я через классмап сделал, потому что слишком тупой и не знаю, как сделать классы по стандартами

Shadow
30.04.2017
10:13:55

mr
30.04.2017
10:14:03
поэтому вопрос номер два - как мне класс из загрузчика использовать в index.php например?
<?php
$autoload = __DIR__ . '/vendor/autoload.php';
use Test;
$test = new Test('name');
echo $test->name;

Shadow
30.04.2017
10:14:21
ну смотри ты подключаешь автозагрузчик
require 'vendor/autoload.php';

f4rt~
30.04.2017
10:15:00

Shadow
30.04.2017
10:15:03

f4rt~
30.04.2017
10:15:03
полторы странички

mr
30.04.2017
10:15:38
у меня класс без неймспейса
<?php
class Test
{
public $name;
function __construct($name)
{
$this->name = $name;
}
}
без него никак?

Shadow
30.04.2017
10:15:56
да

f4rt~
30.04.2017
10:16:02

Shadow
30.04.2017
10:16:24

Google

mr
30.04.2017
10:19:17
<?php namespace NS;
class Test
{
public $name;
function __construct($name)
{
$this->name = $name;
}
}
правильный класс?
то есть через use NS\Test; звать его?
короче через классмап класс грузится, тк я не знаю стандартов, но когда пытаюсь подгрузить автолоад.пхп и свой класс, то пишет, что класс не найден
Fatal error: Class 'Test' not found in D:\ampps\www\student\index.php on line 4

f4rt~
30.04.2017
10:28:29

mr
30.04.2017
10:30:25
И что мне там увидеть? Обьяснение почему класс не загружается через classmap?

Shadow
30.04.2017
10:32:37
а ты composer install делал?
И здесь правильны пути получились vendor\composer\autoload_classmap.php?

mr
30.04.2017
10:33:24
раз двести уже

Rusty_b0lt
30.04.2017
10:34:15
Чуваки, у меня что-то не работает, var_dump($conn) выдает NULL
https://pastebin.com/mhAVv8A4

mr
30.04.2017
10:43:06
если я вручную пишу класс в index.php, то класс работает, через автолоадер - нет

Chuvi
30.04.2017
11:01:54
$conn = null;
35 строка

Rusty_b0lt
30.04.2017
11:03:37
А разве не надо в самом конце ставить $conn = null
Я поставил var_dump в начале, еще до $conn = null;
Теперь он тоже показывает NULL

Chuvi
30.04.2017
11:06:28

Google

Rusty_b0lt
30.04.2017
11:07:26
Можно изменить на paste bin?

Chuvi
30.04.2017
11:08:40

Rusty_b0lt
30.04.2017
11:09:09
ОК
Я полностью убрал $conn = null
И все равно дамп выдает NULL

Admin
ERROR: S client not available

Chuvi
30.04.2017
11:12:21

Rusty_b0lt
30.04.2017
11:12:54
https://pastebin.com/zL9eKCTG
var_dumpвот это выдает
object(PDO)#1 (0) { }
Но все равно не работает Delete message

Chuvi
30.04.2017
11:20:32
var_export($conn->query($select)); на место того дампа и смотри что он там навыбирал.

Rusty_b0lt
30.04.2017
11:23:39
PDOStatement::__set_state(array( 'queryString' => 'SELECT * FROM messages ORDER BY id', ))

Chuvi
30.04.2017
11:24:46
Ну. Потому что запрос то ты сделал, а результаты не выбрал.

Rusty_b0lt
30.04.2017
11:25:20
Дело в том, что у меня все работает, кроме ссылки на удаление

Chuvi
30.04.2017
11:25:41
$conn->query($select, PDO::FETCH_ASSOC)->fetchAll()
Это в foreach вставь.

Rusty_b0lt
30.04.2017
11:26:12
OK
Прост вставить или вместо чего-то?

Google

Chuvi
30.04.2017
11:26:50
$conn->query($select) просто создаёт запрос, результаты нужно выбрать
замени
$conn->query($select)
на
$conn->query($select, PDO::FETCH_ASSOC)->fetchAll()

Rusty_b0lt
30.04.2017
11:28:16
OK
И что это исправит?

Chuvi
30.04.2017
11:28:40
Ну. Потому что запрос то ты сделал, а результаты не выбрал.
$conn->query($select) просто создаёт запрос, результаты нужно выбрать
Выберет результаты, очевидно.
Ну, по крайней мере у тебя foreach выполнится, возможно, если результаты пустые не приедут. )))

Rusty_b0lt
30.04.2017
11:34:55
там есть ссылка на index,php?act=del&id=$id
И оно не удаляет сообщений

Chuvi
30.04.2017
11:35:46

Rusty_b0lt
30.04.2017
11:36:12
Да и обновил на pastebin
Можешь проверить

Chuvi
30.04.2017
11:36:36
Всё равно не работает?

Rusty_b0lt
30.04.2017
11:37:44
Нет. Я нажимаю Delete message, оно опять переводит меня в ввод. Я ввожу, и сообщение, которое я должен был удалить осталось
И спасибо, что тратишь время, помогая мне)