sarhanm / sms-survey
SMS 驱动调查 - PHP
Requires
- php: >=5.4.0
- apache/log4php: 2.3.0
- doctrine/orm: >=2.4
- myclabs/php-enum: *
- twilio/sdk: *
Requires (Dev)
- phpunit/phpunit: 4.0.*
This package is not auto-updated.
Last update: 2024-09-28 16:16:55 UTC
README
SMS 调查管理器
关于此库
Twilio 是一种短信服务,允许您通过短信与您的用户/客户/社区互动。无需智能手机或构建应用程序。
此库使用 Twilio 进行调查。该项目源于非营利组织对其社区进行调查(大多数情况下是在活动/课程/研讨会之后)的需求,无需支付大量金钱。Twilio.org 为 501(c)3 组织提供折扣价,使其变得理想。
## 截图
添加调查
活动调查和禁用调查列表
向调查添加问题
调查报告(文本全部为示例文本)
功能
管理调查
您可以创建任意数量的调查,所有调查可以同时运行。可以通过管理员界面创建调查。管理员界面还为您提供了调查答案的饼图和柱状图,以便轻松查看结果。
调查问题
调查问题可以是以下类型
- 文本
- 是/否
- 5 星评级。
每个调查可以包含任意数量的问题。尽管您应该将问题数量最小化到 2 或 3 个。
开始调查
通过短信将调查名称发送到您分配的 Twilio 电话号码来激活调查。用户有 10 分钟的时间完成调查。
# 安装
通过 Composer 安装
"require": { "sarhanm/sms-survey": "1.0.2" }
手动安装
-
克隆此存储库。
-
运行 composer 安装所有依赖项
php composer.phar install
注意:您可以从 https://composer.php.ac.cn/ 下载 composer.phar
测试手动设置
php vendor/bin/phpunit tests/
注意:默认情况下,此测试不会测试您的数据库设置,因为测试是针对内存数据库运行的。如果您想测试真实数据库,只需将 $test 在 survey-db-config.php 中更改为引用您的数据库即可。
数据库配置
1. 创建一个名为 "survey-db-config.php" 的文件
文件应包含以下内容
<?php if(!defined('SARHAN_SURVEY')) die("Improper use of file!"); return array( "test" => array( 'driver' => 'pdo_sqlite', 'memory' => true) , "production" => array( 'driver' => 'pdo_mysql', 'dbname'=>'your_dbname', 'user'=>'your_dbuser', 'password'=>'you_dbpasswd', 'host'=>'your_dbhost' ) ); ?>
驱动程序选项可以在 Doctrin 的文档页面 上找到。
此文件将以以下方式被发现
-
查找名为常量的 PHP 文件,其路径为上述文件。确保在实例化任何调查类之前定义它。
define('SURVEY_DB_CONFIG_PATH', 'path/to/db/config/survey-db-config.php');
-
通过
stream_resolve_include_path在include_path中查找survey-db-config.php文件。 -
在
cwd()或cwd()/config中查找survey-db-config.php文件。
2. 设置 Doctrine 的 cli-config.php 文件
注意:此仅适用于通过 composer 安装此库的情况。否则,cli-config.php 文件已存在于正确的位置。
Doctrine 在根目录中查找 cli-config.php 文件。
在根目录或根目录中名为 "config" 的文件夹中添加 cli-config.php 文件。
cli-config.php 的内容应为
require './vendor/sarhanm/sms-survey/config/cli-config.php';
3. 生成创建 DB 表的 SQL 代码。
php vendor/bin/doctrine orm:schema-tool:create --dump-sql
运行输出并将其放入您的数据库中。
只要您已正确配置数据库,您可以让 Doctrine 执行 SQL 语句。通常,您会先运行 dump-sql 以验证设置是否正确,然后再运行以下命令。
php vendor/bin/doctrine orm:schema-tool:create
通过传递 -h 到上述命令,您可以查看其他选项。
Twilio配置
注意:您需要创建并设置自己的twilio.com账户
在您的Twilio请求处理器中,添加以下内容
//Order does matter. //Do the require before the session start so (de)serialization is aware //of all the loaded classes. require_once("survey-sms/src/request/TwilioRequestHandler.php"); session_start(); $twilioRequest = new \sarhan\survey\TwilioRequestHandler(); $twilioAccountAuthToken = "myTwilioAuthToken"; $response = $twilioRequest->handleRequest($twilioAccountAuthToken); if(!is_null($response)) { header($response->getHeader()); echo $response->getContent(); } else { echo "Invalid Twilio Request"; }
管理页面
管理页面可用于管理您的调查和查看报告。
警告:这些页面是粗糙、快速且不规范的实现。它们需要大量的工作。它们也不安全。您应该在那些目录/文件上设置一些密码保护
http://您的主机名.com/path-to-survey-sms/src/web/admin



