PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (7): [1] 2 3 4 5 6 7 »

> Найдено сообщений: 101
psevdo Отправлено: 13 Июня, 2019 - 11:05:05 • Тема: Отследить факт изменения объекта • Форум: Вопросы новичков

Ответов: 1
Просмотров: 136
Всем здравствуйте. Опишу ситуацию.
Есть некая сущность, для примера возьмем Книга. У нее есть атрибуты. Два из них, например название и автор точно идентифицируют эту сущность среди ее собратьев.

Есть два интерфейса:
1) админский
2) пользовательский

У пользователя загружен список этих книг. Он смотрит название и автора книги. Кликает на нужную книгу и правит ее атрибуты.
В админском интерфейсе я имею доступ ко всем атрибутам. В том числе и к названию и автору.

Допустим пользователь выбрал книгу Название_1-Автор_1. А в админке и поменал атрибут и теперь это Название_2-Автор_1. Как сообщить пользователю, что он теперь работает с другой книгой?

Были мысли по поводу Ajax. Но книг много, и делать постоянно проверку для каждой книги это накладно. Подскажите пожалуйста куда копать.
psevdo Отправлено: 23 Сентября, 2018 - 22:50:31 • Тема: CRM. Анализ рекламных кампаний • Форум: Вопросы новичков

Ответов: 0
Просмотров: 101
Здравствуйте. Вопрос наверное не совсем сюда, но куда писать еще пока не знаю. Суть следующая... Есть самописная crm, которая написана на PHP. Заказчику требуется организовать анализ эффективности рекламных кампаний. Т.е. допустим есть объявление в ВК. В объявлении есть номер телефона. Клиент звонит, оператор забивает определенные данные в crm. Есть допустим другое объявление, н-р на Авито. Та же ситуация: клиент звонит, оператор забивает данные. ВК и Авито это совершенно разные рекламные площадки и нужно различать их. Собственно вопрос: как технически организовать анализ рекламных кампаний.
Допустим что бы различать эти два объявления можно использовать разные номера. Разные номера - это две сим-карты. Но заказчику нужно так же различать города. Это усложняет задачу. Можно конечно оператору спрашивать город клиента. Но заказчик просит автоматизировать этот момент.
Посоветуйте пожалуйста какое-нибудь направление.
psevdo Отправлено: 04 Мая, 2018 - 09:37:10 • Тема: Не получается настроить vhosts • Форум: Apache и другие веб-серверы

Ответов: 2
Просмотров: 448
teleoperator27 пишет:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <VirtualHost skud:8080>
  2.         ServerAdmin webmaster@skud
  3.         DocumentRoot "e:/usr/www/skud"
  4.         ServerName skud
  5.         ServerAlias www.skud
  6.         ErrorLog "e:/usr/log/skud/error.log"
  7.         CustomLog "e:/usr/log/skud/access.log" common
  8. </VirtualHost>
  9.  
  10. <VirtualHost phpmyadmin:8080>
  11.         ServerAdmin webmaster@phpmyadmin
  12.         DocumentRoot "e:/usr/www/phpmyadmin"
  13.         ServerName phpmyadmin
  14.         ServerAlias www.phpmyadmin
  15.         ErrorLog "e:/usr/log/phpmyadmin/error.log"
  16.         CustomLog "e:/usr/log/phpmyadmin/access.log" common
  17. </VirtualHost>
  18.  


Заработало. Спасибо!
(Добавление)
Есть еще один момент. Домен skud. Точка входа находится в файле e:\usr\www\skud\web\index.php.
Поэтому в httpd-vhosts.conf я пишу:
PHP:
скопировать код в буфер обмена
  1. <VirtualHost skud:8080>
  2.         ServerAdmin webmaster@skud
  3.         DocumentRoot "e:/usr/www/skud/[b]web[/b]"
  4.         ServerName skud
  5.         ServerAlias www.skud
  6.         ErrorLog "e:/usr/log/skud/error.log"
  7.         CustomLog "e:/usr/log/skud/access.log" common
  8. </VirtualHost>


Получаю ответ:
CODE (html):
скопировать код в буфер обмена
  1. 500 Internal Server Error

(Добавление)
Проблема в файле e:\usr\www\skud\web\.htaccess
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteEngine on
  2. RewriteCond %{REQUEST_FILENAME} !-f
  3. RewriteCond %{REQUEST_FILENAME} !-d
  4. RewriteRule . index.php


Без него работает. Но этот код мне нужен что бы избавиться в index.php в url
(Добавление)
Капец. Оказывается был закоментен LoadModule rewrite_module modules/mod_rewrite.so
psevdo Отправлено: 04 Мая, 2018 - 09:14:58 • Тема: Не получается настроить vhosts • Форум: Apache и другие веб-серверы

Ответов: 2
Просмотров: 448
Здравствуйте. Прошу помощи. Что имею:

    - Windows 10
    - php 7.1.17
    - Apache 2.4.33 win64 VC14


httpd-vhosts.conf:
PHP:
скопировать код в буфер обмена
  1.  
  2. <VirtualHost *.8080>
  3.         ServerAdmin webmaster@skud
  4.         DocumentRoot "e:/usr/www/skud/"
  5.         ServerName skud
  6.         ServerAlias www.skud
  7.         ErrorLog "e:/usr/log/skud/error.log"
  8.         CustomLog "e:/usr/log/skud/access.log" common
  9. </VirtualHost>
  10.  
  11. <VirtualHost *.8080>
  12.         ServerAdmin webmaster@phpmyadmin
  13.         DocumentRoot "e:/usr/www/phpmyadmin"
  14.         ServerName phpmyadmin
  15.         ServerAlias www.phpmyadmin
  16.         ErrorLog "e:/usr/log/phpmyadmin/error.log"
  17.         CustomLog "e:/usr/log/phpmyadmin/access.log" common
  18. </VirtualHost>
  19.  


hosts:
PHP:
скопировать код в буфер обмена
  1.  
  2. 127.0.0.1 skud
  3. 127.0.0.1 phpmyadmin
  4.  


В браузере забиваю http://skud:8080/.
В итоге получаю:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. Index of/
  3. * phpmyadmin/
  4. * skud/
  5.  


Помогите пожалуйста правильно настроить конфиги.
psevdo Отправлено: 25 Октября, 2017 - 10:26:30 • Тема: Domain-driven design • Форум: Вопросы новичков

Ответов: 4
Просмотров: 265


Думал по ссылке будет что-то полезное)
В итоге что получается... Возьмем для примера Id. Если мы знаем, что данное свойство объекта мы будем получать как оно есть, т.е. просто значение, то можно описывать его простым литералом. Но если будет какая-либо логика в дальнейшем, то описываем объектом-значением.
psevdo Отправлено: 24 Октября, 2017 - 14:08:05 • Тема: Domain-driven design • Форум: Вопросы новичков

Ответов: 4
Просмотров: 265
Всем здравствуйте. Прочитал тут одну статью http://www[dot]elisdn[dot]ru/blog/104/do[dot][dot][dot]tities-modelling . Если я все правильно понял, то тут нужно описывать сущность другими сущностями. Вот например пользователь. У него есть идентификатор, юзернейм, пароль и статус. Нужно ли каждое из этих свойств описывать отдельным классом? Или есть какие то пределы разумного?
Объясните мне пожалуйста.
psevdo Отправлено: 12 Октября, 2017 - 15:41:10 • Тема: Codeception • Форум: Вопросы новичков

Ответов: 14
Просмотров: 656
andrewkard пишет:
psevdo пишет:
Верно.

?
поставили этот неймспейс
modules\sh\tests\unit\entities\hobby;
и
PHP:
скопировать код в буфер обмена
  1.  
  2. $hobby = new Hobby(
  3.                         $this->id,
  4.                         $this->title,
  5.                         $this->sex,
  6.                         $this->sort
  7.                  );
  8.  

и запустили?


Пробовал и через use и руками прописывал путь.
psevdo Отправлено: 12 Октября, 2017 - 15:34:11 • Тема: Codeception • Форум: Вопросы новичков

Ответов: 14
Просмотров: 656
andrewkard пишет:
psevdo пишет:
Изначально так и было. Класс не находился

что то с неймспейсом

namespace modules\sh\tests\unit\entities\hobby;

так?


Верно. Файл расположен верно.
psevdo Отправлено: 12 Октября, 2017 - 15:18:33 • Тема: Codeception • Форум: Вопросы новичков

Ответов: 14
Просмотров: 656
andrewkard пишет:
psevdo пишет:
$hobby = new \app\modules\sh\entities\hobby\Hobby(
$this->id,
$this->title,
$this->sex,
$this->sort
);


попробуйте убрать
(Добавление)
и поскольку Вы определили,
psevdo пишет:
use app\modules\sh\entities\hobby\Hobby;

то так
PHP:
скопировать код в буфер обмена
  1.  
  2. $hobby = new Hobby(
  3.                         $this->id,
  4.                         $this->title,
  5.                         $this->sex,
  6.                         $this->sort
  7.                  );
  8.  


Изначально так и было. Класс не находился. Потом я попробовал в вызове класса прописать путь руками. Если не вызывать этот класс, то соответственно тест выполняется без ошибок.
psevdo Отправлено: 12 Октября, 2017 - 15:03:06 • Тема: Codeception • Форум: Вопросы новичков

Ответов: 14
Просмотров: 656
LIME пишет:
может autoload для require-dev не прописан?


а где, как и куда его прописывать?
psevdo Отправлено: 12 Октября, 2017 - 14:54:03 • Тема: Codeception • Форум: Вопросы новичков

Ответов: 14
Просмотров: 656
Повторюсь, я хочу запустить тест моего модуля. Т.е. namespace там такой - namespace app\modules\sh\tests\unit\entities\hobby.
Запускать тесты модуля... Такое ведь возможно? В этом ведь нет ничего криминального.
А запускать пытаюсь командой vendor\bin\codecept run unit -c modules\sh. Опция -c нужна для того, чтобы codeception брал codeception.yml не из корня проекта, а из корня самого модуля.

Или правильнее запускать командой vendor\bin\codecept run unit? Но в таком случае будет подхватываться только codeception.yml, который находится в корне проекта. Как тогда подцепить такой же файл в корне модуля?
psevdo Отправлено: 12 Октября, 2017 - 14:08:26 • Тема: Codeception • Форум: Вопросы новичков

Ответов: 14
Просмотров: 656
andrewkard пишет:
psevdo пишет:
public function testCreate() {

странный тест у Вас, что Вы проверяете?
посмотрите примеры тестов в коде, и вот еще неплохая статья
https://ru[dot]stackoverflow[dot]com/que[dot][dot][dot]d0%bd%d0%b0-yii2

если Вы тестируете создание модели, не думаю что от этого есть какой то толк,
т.е. new Model()
создали и что?
а вот наполнить, провалидировать и сохранить уже имеет смысл.


Спасибо за комментарий. Но моя цель сейчас просто разобраться с codeception. Поэтому написал самый простой тест. А он выдает ошибку, что не может найти класс. Поэтому и прошу помощи разобраться.
psevdo Отправлено: 12 Октября, 2017 - 12:33:36 • Тема: Codeception • Форум: Вопросы новичков

Ответов: 14
Просмотров: 656
Здравствуйте. Проконсультируйте меня пожалуйста.
Пытаюсь освоить codeception.
Есть у меня проект на Yii2.
Есть модуль modules\sh. Там такая структура:
modules
-- sh
---- Module.php
---- controllers
---- modules
---- views
---- entities
------ hobby
-------- Hobby.php
---- codeception.yml
---- tests
------ unit
-------- entities
---------- hobby
------------ HobbyTest.php

Содержимое класса HobbyTest.php:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. namespace app\modules\sh\tests\unit\entities\hobby;
  4.  
  5. use app\modules\sh\entities\hobby\Hobby;
  6. use Codeception\Test\Unit;
  7.  
  8. class HobbyTest extends Unit {
  9.         /**
  10.          * @var \UnitTester
  11.          */
  12.         protected $tester;
  13.  
  14.         protected $id = 5;
  15.         protected $title = 'test';
  16.         protected $sex = 'male';
  17.         protected $sort = 1;
  18.  
  19.         protected function _before() {
  20.         }
  21.  
  22.         protected function _after() {
  23.         }
  24.  
  25.         // tests
  26.         public function testCreate() {
  27.                 $hobby = new \app\modules\sh\entities\hobby\Hobby(
  28.                         $this->id,
  29.                         $this->title,
  30.                         $this->sex,
  31.                         $this->sort
  32.                  );
  33.                
  34.                  $this->assertEquals($this->id, $hobby->getId());
  35.                  $this->assertEquals($this->title, $hobby->getTitle());
  36.                  $this->assertEquals($this->sex, $hobby->getSex());
  37.                  $this->assertEquals($this->sort, $hobby->getSort());
  38.         }
  39. }


Суть в том, что когда я в консоли набираю команду (нахожусь при этом в корне проекта Yii):
Цитата:
vendor\bin\codecept -c modules\sh


Цитата:
1) [35;1mHobbyTest:[39;22m Create
[37;41;1m Test [39;49;22m tests\unit\entities\hobby\HobbyTest.php:testCreate
[37;41;1m [39;49;22m
[37;41;1m [Error] Class 'app\modules\sh\entities\hobby\Hobby' not found [39;49;22m
[37;41;1m [39;49;22m
#1 C:\Users\Psevdo\PhpstormProjects\sh\modules\sh\tests\unit\entities\hobby\HobbyTest.php:41
#2 app\modules\sh\tests\unit\entities\hobby\HobbyTest->testCreate


Т.е. класс Hobby не найден. Хотя он есть.

codeception.yml в корне проекта:
CODE (htmlphp):
скопировать код в буфер обмена
  1. actor: Tester
  2. paths:
  3.     tests: tests
  4.     log: tests/_output
  5.     data: tests/_data
  6.     helpers: tests/_support
  7. settings:
  8.     bootstrap: _bootstrap.php
  9.     memory_limit: 1024M
  10.     colors: true
  11. modules:
  12.     config:
  13.         Yii2:
  14.             configFile: 'config/test.php'
  15.             cleanup: false


codeception.yml в корне модуля sh:
CODE (htmlphp):
скопировать код в буфер обмена
  1. paths:
  2.     tests: tests
  3.     output: tests/_output
  4.     data: tests/_data
  5.     support: tests/_support
  6.     envs: tests/_envs
  7. actor_suffix: Tester
  8. settings:
  9.     bootstrap: _bootstrap.php
  10.     memory_limit: 1024M
  11.     colors: true
  12. extensions:
  13.     enabled:
  14.         - Codeception\Extension\RunFailed
  15.  
psevdo Отправлено: 07 Сентября, 2017 - 13:02:51 • Тема: Создание объекта класса • Форум: Вопросы новичков

Ответов: 4
Просмотров: 171
Мелкий пишет:
psevdo пишет:
Fatal error: Uncaught Error: Class 'test\ReportBuilder' not found

psevdo пишет:
Пространство имен не используется.

Одно из двух.


Это я экспериментировал с пространствами имен. Думал поможет избавиться от проблемы. В итоге разнес классы по файлам.
psevdo Отправлено: 07 Сентября, 2017 - 12:20:25 • Тема: Создание объекта класса • Форум: Вопросы новичков

Ответов: 4
Просмотров: 171
Мелкий пишет:
Потому что код который вы показали и код который вы пытаетесь запустить - различаются. Согласно тексту ошибки у вас используются пространства имён.


Пространство имен не используется. Весь код находится в одном файле.
(Добавление)
Разнес классы по разным файлам и пошло.. Разве так нельзя делать?

Страниц (7): [1] 2 3 4 5 6 7 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB