Мне нужно реализовать функцию текстовых сообщений для моего приложения, для этого у меня есть php файл, который я получаю от поставщика услуг, где вам нужно разместить данные db. И дайте свой путь поставщику услуг для добавления на сервер. Я смущен, где разместить и, по его словам, если я укажу этот путь к файлу в url, он должен вернуть номер контакта и тело сообщения, но я не могу его проверить.
сценарий выглядит так:
<?php
// MySQL table outbox:
// CREATE TABLE outbox(sender VARCHAR(255), rcpt VARCHAR(255), body VARCHAR(255));
$mysql_host = "localhost";
$mysql_base = "school_laravel";
$mysql_user = "root";
$mysql_password = "";
$table = "outbox";
mysql_connect($mysql_host, $mysql_user, $mysql_password);
mysql_select_db($mysql_base);
mysql_query("LOCK TABLES $table WRITE, $table AS $table" . "_read READ");
$get_query = "SELECT * FROM $table AS $table" . "_read";
$del_query = "DELETE FROM " . $table;
if ($_GET['device'] != '') {
$suffix = " WHERE sender='" . $_GET['device'] . "'";
$get_query .= suffix;
$del_query .= suffix;
}
$result = mysql_query($get_query);
echo '<messages>';
while ($array = mysql_fetch_array($result)) {
echo '<message msisdn="' . $array['rcpt'] . '">' . $array['body'] . "</message>\n";
}
mysql_query($del_query);
mysql_query("UNLOCK tables");
echo '</messages>';
?>
Мой вопрос заключается в том, где я должен поместить его в каталог laravel и можно получить данные таблицы, так как я упоминал подробности БД в приведенном выше сценарии.
Спасибо за помощь
Даже если это сэкономит вам минуту, я бы не использовал этот код на вашем сайте. Было бы трудно использовать на сайте Laravel, если вы не перепишете его. Если вам все равно придется переписывать, возможно, вы могли бы сделать это с помощью Laravel.
Сценарий, который у вас есть, выглядит довольно просто, чтобы переписать его. Этот код не проверен. Я бы не стал копировать и вставлять его в ваше приложение и работать без изменений, но вот основные шаги.
Шаг 1 - Создайте модель для вашей таблицы.
Приложение /Outbox.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Outbox extends Model
{
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'outbox';
}
Шаг 2 - Создайте контроллер
приложение /Http/Контроллеры/MessagesController.php
<?php
namespace App\Http\Controllers;
use App\Outbox;
use Illuminate\Http\Request;
class MessagesController extends Controller
{
/**
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function show($sender)
{
$messages = Outbox::where('sender', $sender)
->firstOrFail();
$ids_to_delete = $messages->pluck('id');
Outbox::destroy($ids_to_delete);
return view('messages')
->with('messages', $messages);;
}
}
Шаг 3 - Создайте представление
ресурсы/виды/messages.blade.php
<!DOCTYPE html>
<html lang="en">
<head>
<title>
laravel.com
</title>
</head>
<body>
<div>
<messages>
@foreach($messages as $message)
<message msisdn="{{ $message->rcpt }}">{{ $message->body }}</message>
@endforeach
</div>
</body>
</html>
Шаг 4 - добавьте маршрут для нового контроллера
Приложение/маршруты/web.php
Route::get('messages/{sender}', 'MessagesController@show');
Шаг 5 - Посетите новый URL-адрес
http://localhost/messages/device
Где бы ни было устройство $_GET['device']
.
mysql_*
. Они устарели с версии 5.5 (июнь 2013 г.) и удалены с версии 7.0 (декабрь 2015 г.). Вместо этого используйте функции mysqli_ * или PDO с подготовленными операторами и связанными параметрами .