Variable
устарела и, возможно, будет удалена в будущем выпуске, поэтому я использовал вместо нее Relay
.
Лучшим подходом было бы сделать форматирование в map
наблюдаемой последовательности и связать его с выводом.
Примерно так в ViewModel
:
var orderDate = BehaviorRelay<Date?>(value: nil)
lazy var formattedOrderButtonText = orderDate.map { return [110] == nil ? "String 1" : "String 2" }
А затем использовать formattedOrderButtonText
в контроллере представления для привязки, например:
viewModel.formattedOrderButtonText.bind(to: orderButton.rx.title).disposed(by: disposeBag)
Один способ сделать это должно иметь Вашу основную версию php, настроенного с mod_php и прокручивать всех другие быстро cgi на различных портах (т.е. 81, 82, 83 и т.д.). Это не гарантирует полностью последовательного поведения все же.
Наличие нескольких экземпляров апача + php никогда действительно щекотало мое воображение, но это, вероятно, самый легкий способ сделать это. Если Вы не чувствуете, что KISS... вот является идеей.
Будят Вашего апача и выполнение, и попытка действительно настраивает, это как debian и человечность делает это, например, имеет каталоги для загруженных модулей. Ваш апачский conf может использовать строки как это:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
Затем создают Вашу первую версию php и дают ему префикс, которому содержали номер версии явно, например,/usr/local/php/5.2.8,/usr/local/php/5.2.6...
conf/load выглядел бы примерно так:
php5.2.6.load
LoadModule php5_module /usr/local/php/5.2.6/libphp5.so
php5.2.8.load
LoadModule php5_module /usr/local/php/5.2.8/libphp5.so
Для переключения версий все, что необходимо сделать, изменить загрузку, и conf файлы от апачей каталога делает включение в для тех для другой версии. Можно автоматизировать это с простым сценарием удара (удалите фактический файл, скопируйте файл альтернативных версий на месте и перезапустите апача.
Одним преимуществом этой установки является все, последовательно, так долго Вы сохраняете php.ini тем же с точки зрения опций и модулей (который Вы имели бы отношение к CGI так или иначе). Они все проходят SAPI. Ваши приложения не будут нужны ни в каких изменениях вообще, ни должны использовать относительные URL.
я думаю , это должно работать, но с другой стороны, я не попробовал его, и при этом я, вероятно, не сделаю так, поскольку у меня нет тех же требований как Вы. Действительно прокомментируйте, пробуете ли Вы когда-нибудь все же.
Я только что успешно перешел с PHP5.3 на Ubuntu 10.
Для этого я использовал следующий сценарий:
#! /bin/sh
php_packages=`dpkg -l | grep php | awk '{print $2}'`
sudo apt-get remove $php_packages
sed s/lucid/karmic/g /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/karmic.list
sudo mkdir -p /etc/apt/preferences.d/
for package in $php_packages;
do echo "Package: $package
Pin: release a=karmic
Pin-Priority: 991
" | sudo tee -a /etc/apt/preferences.d/php
done
sudo apt-get update
sudo apt-get install $php_packages
Для тех, кто не знает, как запускать сценарии из командной строки, вот краткое руководство:
1. cd ~/
2. mkdir bin
3. sudo nano ~/bin/myscriptname.sh
4. paste in the script code I have posted above this
5. ctrl+x (this exits and prompts for you to save)
6. chmod u+x myscriptname.sh
Эти 6 шагов создают сценарий в папке с именем «bin» в вашем домашнем каталоге. Затем вы можете запустить этот сценарий, вызвав следующую команду:
~/bin/myscriptname.sh
Oulia!
Надеюсь, это поможет некоторым из вас!
Для справки, вот где я взял сценарий: PHP5.2.10 для Ubuntu 10
Там есть несколько человек, которые все подтверждают, что это работает, и это сработало для меня.