Как подключить php 7.0 с MongoDB в ubuntu 16.04 lts?
1) Установите LAMP, используя следующую ссылку. Он устанавливает Apache2, mysql и php 7.0. https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04
2) Установите сообщество сообщества MongoDB на Ubuntu, используя шаги в следующей ссылке. http://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
3) Введите следующую команду, чтобы получить расширение mongoDB от pecl
sudo apt install php-pear
4) Добавьте в файл php.ini в /etc/php/apache2/7.0
extension=mongodb.so
следующее: Важно: также были изменены классы:
new MongoClient(); //Old Class
new MongoDB\Driver\Manager(); // New Class
Попробуйте это:
// using System.CodeDom.Compiler;
CodeDomProvider provider = CodeDomProvider.CreateProvider("C#");
if (provider.IsValidIdentifier (YOUR_VARIABLE_NAME)) {
// Valid
} else {
// Not valid
}
Более длинный путь, плюс гораздо более медленный, состоит в том, чтобы использовать отражение, чтобы перебрать членов класса / пространства имен и сравнить, проверяя, является ли отраженный член **. ToString () ** таким же, как строковый ввод, для этого требуется предварительно загрузить сборку.
Другой способ сделать это (гораздо более длинный путь, который преодолевает использование регулярных выражений, используя уже доступный сканер / синтаксический анализатор Antlr), граничит с синтаксическим анализом / лексированием кода C # и затем сканирует имена членов (т.е. переменные) и сравнивая со строкой, используемой в качестве входных данных, например, введите строку с именем 'fooBar', затем укажите источник (например, код сборки или C #) и отсканируйте его, проанализировав специально поиск объявлений членов, например, таких как
private int fooBar;
Да, это сложно, но мощное понимание возникнет, когда вы поймете, что делают писатели компилятора, и улучшит ваши знания языка C # до уровня, когда вы достаточно близко познакомитесь с синтаксисом и его особенности.
В WPF это можно использовать для проверки, является ли строка допустимым именем переменной. Но он не распознает зарезервированные строки, такие как public.
// works only in WPF!
public static bool CheckIfStringIsValidVarName(string stringToCheck)
{
if (string.IsNullOrWhiteSpace(stringToCheck))
return false;
TextBox textBox = new TextBox();
try
{
// stringToCheck == ""; // !!! does NOT throw !!!
// stringToCheck == "Name$"; // throws
// stringToCheck == "0"; // throws
// stringToCheck == "name with blank"; // throws
// stringToCheck == "public"; // does NOT throw
// stringToCheck == "ValidName";
textBox.Name = stringToCheck;
}
catch (ArgumentException ex)
{
return false;
}
return true;
}